標題:
[發問]
通過資料驗證不重複值和排序?
[打印本頁]
作者:
maiko
時間:
2015-4-21 16:26
標題:
通過資料驗證不重複值和排序?
A欄上有一組Member名稱,如何在G2上用資料驗證
不重複值
和
排序
?
Member
B
A
B
B
C
D
E
A
B
E
D
G
A
B
B
F
請各位賜教,謝謝!
作者:
PKKO
時間:
2015-4-21 19:24
回復
1#
maiko
試試看
Sub test()
'
Columns("A:A").Copy
Columns("G:G").PasteSpecial Paste:=xlPasteValues '貼上值
Application.CutCopyMode = False
'移除重複
ActiveSheet.Range("G1:G" & [g65536].End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
'排序
ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("G1:G" & [g65536].End(xlUp).Row), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("工作表1").Sort
.SetRange Range("G1:G" & [g65536].End(xlUp).Row)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
複製代碼
作者:
maiko
時間:
2015-4-21 19:31
回復 maiko
試試看
PKKO 發表於 2015-4-21 19:24
程式到 .Apply 的時候出現錯誤,如圖:
[attach]20762[/attach]
而且,不是資料驗證。
作者:
stillfish00
時間:
2015-4-21 19:54
回復
1#
maiko
別說賜教了,連問題都沒看懂。。。
你不把問題再說清楚點嗎?
作者:
PKKO
時間:
2015-4-21 19:56
回復
3#
maiko
我原本提供的程式碼為,複製A欄到G欄=>移除重複(保留表頭)=>排序(英文方式)
不懂你所謂的資料驗證,若你指的是下拉選單
試試看,檔案可以正常運作
[attach]20763[/attach]
Sub test()
'
Columns("A:A").Copy
Columns("G:G").PasteSpecial Paste:=xlPasteValues '貼上值
Application.CutCopyMode = False
'移除重複
ActiveSheet.Range("G1:G" & [g65536].End(xlUp).Row).RemoveDuplicates Columns:=1, Header:=xlYes
'排序
ActiveWorkbook.Worksheets("工作表1").Sort.SortFields.Add Key:=Range("G1:G" & [g65536].End(xlUp).Row), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("工作表1").Sort
.SetRange Range("G1:G" & [g65536].End(xlUp).Row)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For i = 2 To [g65536].End(xlUp).Row
name1 = name1 & Cells(i, 7) & ","
Next
name2 = Mid(name1, 1, Len(name1) - 1)
With Range("G2:G" & [a65536].End(xlUp).Row).Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=name2
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.IMEMode = xlIMEModeNoControl
.ShowInput = True
.ShowError = True
End With
Range("G2:G" & [g65536].End(xlUp).Row).ClearContents
End Sub
複製代碼
作者:
maiko
時間:
2015-4-22 01:43
回復
5#
PKKO
程式總是到 .Apply 這一步就出現 1004 錯誤:
[attach]20764[/attach]
作者:
maiko
時間:
2015-4-22 01:46
回復
4#
stillfish00
就是把A欄上的Member名稱:
B
A
B
B
C
D
E
A
B
E
D
G
A
B
B
F
做一個下拉選單,而且這選單是要不重複、由小到大排序的。
可能用資料驗證大家會不懂,其實就是下拉選單。
作者:
lpk187
時間:
2015-4-22 07:13
回復
7#
maiko
PKKO大上傳的檔案和程式碼,可以達成你的問題,也可以正常執行,甚至沒有出現你PO出來的錯誤,何不把你的檔案上傳上來讓大家幫你檢視呢?
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)