VBA,Sub()用法

2015-07-28 8:58 pm
請教高手..
下述可讓使用者l點選一格,就可執行所設定的code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
xxx xxx
end sub

若要讓使用者打開excel就執行時,該如何改呢?是否可順便摘錄說明....
更新1:

在sheet3加入,不會執行,哪邊要修改? Private Sub Workbook_Open() With Sheets("班") For i = 1 To .[A5500].End(3).Row Data = .Cells(i, 1).Value If Data <> "" Then If Application.CountIf(Sheets("班").Columns("R"), Data) > 0 Then ........ End If End If Next i End With End Sub

更新2:

cascade大大,thisbook是否會控制到全部的Sheet?因我只要控制Sheet3就好.

更新3:

cascade大大,如以我補充案例,是否有使用With Sheets("班")...就已限制在此sheet("班")運作了嗎?

回答 (3)

2015-07-30 10:20 pm
✔ 最佳答案
打開excel就執行是要用:
Private Sub Workbook_Open()
......
End Sub

2015-07-29 09:33:17 補充:
1.程式碼看來應該沒問題
2.程式碼要寫在"ThisWorkbook",而非Sheet3

2015-07-29 16:02:16 補充:
若程式碼寫在"ThisWorkbook",但只要控制Sheet3 的話,則跟範圍(Range,Column,Row,Cells)的設定,請於前面加上"Sheet("Sheet3")." 即可

2015-07-29 22:23:21 補充:
是的,但如仍不放心,可在With Sheets("班")前加上 Sheets("班").Select

2015-07-30 14:20:44 補充:
1.打開excel就執行是要用:
Private Sub Workbook_Open()
......
End Sub
2.請將程式碼置於"ThisWorkbook"
3.若要控制Sheet3 的話,則跟範圍(Range,Column,Row,Cells)的設定,請於前面加上"Sheet("Sheet3")." 即可
2015-07-30 7:01 am
cascade 大大...請至回答區作答,感謝您解惑
2015-07-29 3:48 am
通常會用範圍為限定
If Target.Address = "$A$1" Then

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row >= 1 And Target.Column >= 1 Then
Cells(5, 5) = 15
End If
End Sub


收錄日期: 2021-05-04 01:39:46
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20150728000015KK04369

檢視 Wayback Machine 備份