引用 | 编辑
necos
2007-08-02 23:17 |
4楼
▲ ▼ |
||||||||||
嗯…我会,这个不会很难…
范例给你参考参考… 有问题再讨论吧… ps对了…那个档要开启vba功能才有用…
![]() |
引用 | 编辑
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 -------------------------------------------------------------------------------------------------------------- 如果可以~可以帮我写注解吗? 因为整个语法跟逻辑~真的都不懂~谢谢! ![]() |
引用 | 编辑
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来一步步查看数值的变化 加油啰… 有问题再问偶吧…
![]() |