返回列表 上一主題 發帖

[發問] 執行活頁簿內所有工作表的迷思

回復 1# alex520188
  1. Sub A123()
  2. Dim I%, J%, k%
  3. Dim Current As Worksheet
  4. For Each Current In Worksheets
  5.     With Current
  6.         J = .Rows(1).End(xlToRight).Column
  7.         J = J - 1
  8.         .Columns(J).Insert Shift:=xlToRight
  9.         k = .Range("a:a").End(xlDown).Row
  10.         For I = 2 To k Step 1
  11.             .Cells(I, (J + 1)).Formula = "=IF(ISBLANK(OFFSET(0,-1)),"",OFFSET(0,-1)-OFFSET(0,-2))"
  12.             .Cells(I, (J + 2)).Formula = "=IF(ISBLANK(OFFSET(0,-2)),"",B3+(OFFSET(0,-2)*0.001)-ROUND(RAND()*0.00005,5))"
  13.             If .Cells(I, (J - 1)) = "" Then
  14.                 .Cells(I, J) = ""
  15.             ElseIf .Cells(I, (J - 1)) - .Cells(I, (J - 2)) > 0 Then
  16.                 Randomize
  17.                 .Cells(I, J) = Round(((-0.1 - -0.4) * Rnd + -0.4), 1) + .Cells(I, (J - 1))
  18.             ElseIf .Cells(I, (J - 1)) - .Cells(I, (J - 2)) < 0 Then
  19.                 Randomize
  20.                 .Cells(I, J) = Round(((0.3 - 0.1) * Rnd + 0.1), 1) + .Cells(I, (J - 1))
  21.             End If
  22.         Next I
  23.         .Cells(1, J) = Now()
  24.         MsgBox .Name
  25.     End With
  26. Next
  27. End Sub
複製代碼

TOP

回復 3# alex520188
一樣也不能跑所有的活頁簿
要跑所有的活頁簿嗎?
For Each Wo In Workbooks      
          For Each Current In Wo.Worksheets
              
                With .Cells(I, J + 1)
                        .Formula = "=IF(ISBLANK(" & .Offset(0, -1).Address & "),""""," & .Offset(0, -1).Address & " - " & .Offset(0, -2).Address & ")"
               End With
               With .Cells(I, J + 2)
                    .Formula = "=IF(ISBLANK(" & .Offset(0, -2).Address & "),"""",B3+(" & .Offset(0, -2).Address & "*0.001)-ROUND(RAND()*0.00005,5))"              
               End With
      

       Next
Next

TOP

回復 6# alex520188
Offset 是  Range 物件的屬性 ,用以代表某個指定區域以外的範圍。唯讀。
With Range("a1")
    MsgBox    .Offset( 0, 0).Address
     MsgBox    .Offset(5).Address
    MsgBox    .Offset(5 , 2).Address
End  With

你是否知了解  For Each Current In Worksheets     工作表集合物件
同理
For Each Wo In Workbooks          活頁簿集合物件

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題