返回列表 上一主題 發帖

[發問] 使用VBA自訂範圍資料驗證失敗

本帖最後由 HUNGCHILIN 於 2015-3-1 23:53 編輯

回復 5# PKKO

選錯之後 要再用選的 空白 就要在清單內有一空白選項
就是DATA 要有空白格
就是驗證清單有空白格

您上面的程式就綠色的那行有問題.變成註解就可以執行
Public Sub AAAAAA()
With Me
        cc = .Rows(1).Find("所有單位", Lookat:=xlWhole).Column '代號的Column
        Set myRange = .Range("A2:A" & .Range("A65536").End(xlUp).Row) '資料驗證用
        For Each e In myRange
            ARR = ARR & "," & e
        Next
        
    MsgBox ARR
        
       ' ARR = Split(Mid(ARR, 2, 10000), ",") '看過陣列的值確定沒問題
        With .Range("d2:d10").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=ARR
        End With
End With
End Sub
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

本帖最後由 HUNGCHILIN 於 2015-3-2 00:11 編輯

With Me
        CC = .Rows(1).Find("所有單位", Lookat:=xlWhole).Column '代號的Column
        
        
        myRange = .[A1].Resize(.Cells(.Rows.Count, 1).End(xlUp).Row, 1).Value
      
        
        For Each e In myRange
            ARR = ARR & "," & e
        Next

'       ' ARR = Split(Mid(ARR, 2, 10000), ",") '?
        With .Range("d2:d10").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=ARR
        End With
End With
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

本帖最後由 HUNGCHILIN 於 2015-3-7 23:54 編輯

回復 10# PKKO
阿吉測試時把程式貼在,Sheets("轉換表") 的工作表程式区内,故直接用Me,就可以了,
如果程式放在 模組1 内,就一定要指定,with Sheets("轉換表"),
我通常較少用 Sheets("轉換表")的寫法,因為改Sheet名稱程式就會報錯誤提示。
有時用Sheet1,Sheet2寫法較佳。
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

本帖最後由 HUNGCHILIN 於 2015-3-9 00:24 編輯

只是單純的測試程式,沒別的
簡化程式,很好的想法
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題