引用 | 編輯
necos
2007-08-02 23:17 |
4樓
▲ ▼ |
||||||||||
嗯…我會,這個不會很難…
範例給你參考參考… 有問題再討論吧… ps對了…那個檔要開啟vba功能才有用…
x1 |
引用 | 編輯
nan104211
2007-08-03 14:58 |
5樓
▲ ▼ |
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Cells(2, 1) <> "" And Cells(2, 2) <> "" And Cells(2, 3) <> "" And Cells(2, 4) <> "" And Cells(2, 5) <> "" Then Call fill_in End If End Sub ----------------------------------------------------------------------------------------------------- Sub fill_in() x = 5 Do While Not Cells(x, 1) = "" x = x + 1 Loop Cells(x, 1) = x - 4 Cells(x, 2) = Date Cells(x, 3) = Cells(2, 1) Cells(x, 4) = Cells(2, 2) Cells(x, 5) = Cells(2, 3) Cells(x, 6) = Cells(2, 4) Cells(x, 7) = Cells(2, 5) For i = 1 To 5 Cells(2, i) = "" Next End Sub -------------------------------------------------------------------------------------------------------------- 如果可以~可以幫我寫註解嗎? 因為整個語法跟邏輯~真的都不懂~謝謝! x0 |
引用 | 編輯
necos
2007-08-03 23:21 |
6樓
▲ ▼ |
||||||||||
註解如下…
---------------------------------------------------------------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)'<這是代表只要在表格上有執行任何一個動作時就會進行下列程式 If Cells(2, 1) <> "" And Cells(2, 2) <> "" And Cells(2, 3) <> "" And Cells(2, 4) <> "" And Cells(2, 5) <> "" Then'這行是指判斷A2,B2,C2,D2,E2「均不為」空格時,就執行「fill_in」這段程式碼,意指五格都有資料時就執行另外一段程式碼… Call fill_in '呼叫fill_in這段程式碼 End If'結束判斷 End Sub ----------------------------------------------------------------------------------------------------- Sub fill_in() 'fill_in 開始… x = 5'假設x為5 Do While Not Cells(x, 1) = ""'迴圈到ax不為空格時 x = x + 1'再往下一格(x加1) Loop'再來一次 '上面是從「a5」開始判斷是否為空格,如果為空格的話,那麼就將「粉紅色」區域內的資料填註到 空格(即是ax)的那一列 ax就是a的不是是多少如a6,a7,a8,a9… Cells(x, 1) = x - 4'產生編號,即空格減掉4就為編號,如a6那一列,則編號為『2』,因6-2。 Cells(x, 2) = Date'由系統產生今天日期放至bx Cells(x, 3) = Cells(2, 1)'粉紅色第一格存放cx Cells(x, 4) = Cells(2, 2)'粉紅色第一格存放dx Cells(x, 5) = Cells(2, 3)'粉紅色第一格存放ex Cells(x, 6) = Cells(2, 4)'粉紅色第一格存放fx Cells(x, 7) = Cells(2, 5)'粉紅色第一格存放gx 'x即為之前判斷為空值的那一列 粗體的地方也可以寫成這樣… for i=1 to 5 cells(x,i+2)=cells(2,i) next 意思是一樣的… For i = 1 To 5 Cells(2, i) = "" '消除粉紅色那斷的資料從第1格到第5格 Next End Sub '結束 就這樣子吧…慢慢研究,可以放入中斷f9,再以f8來一步步查看數值的變化 加油囉… 有問題再問偶吧…
x1 |