iT邦幫忙

0

在別的工作表執行表單的問題

各位高手們好
我又碰到問題了
就是我明明有讓VBA的表單每次都從工作表1開啟
但是當我從別的工作表去執行時 卻發現下拉式按鈕是空的
且我EXCEL有在工作表1 而我在工作表1執行卻又正常了
這個要怎麼修改

Private Sub UserForm_Activate()
Worksheets(1).Activate
   For a = 6 To Sheets("Sheet1").Range("B3").End(xlDown).Row
          data1.AddItem Cells(a, "B")
    Next
End Sub

多謝指教

1 個回答

0
海綿寶寶
iT邦超人 1 級 ‧ 2019-02-25 13:43:23
最佳解答

試試看

Private Sub UserForm_Activate()
   'Worksheets(1).Activate
   For a = 6 To Sheets("Sheet1").Range("B3").End(xlDown).Row
          Data1.AddItem Sheets("Sheet1").Range("A1").Offset(a, 1)
    Next
End Sub

'前面指定工作表,後面改用 Offset 定位
'Range("B3")是基本參考點
'Offset(a, 0)第一個參數是row;第二個參數是column

順帶一提
如果只是要跨工作表抓資料
要小心(最好不要)Worksheets(n).Activate的使用
因為
1.會影響執行效率
2.如果沒寫好自己會錯亂不知身在何方

只有在要給使用者看該工作表時
才要activate過去
/images/emoticon/emoticon06.gif

我要發表回答

立即登入回答