返回列表 上一主題 發帖

[發問] [發問] VBA填入公式

回復 4# ABK


    用陣列處理應該會比每個儲存格分別處理來得快

TOP

回復 7# n7822123


    假設工作簿內每個工作表的格式都一樣
    且工作表的第一列是欄位名稱
    Sub test()
      Dim Arr, sh
      For Each sh In Sheets
            With sh
                  Arr = Range(.[A2], .[A1].Cells(.Rows.Count, 1).End(3))
                  For i = 1 To UBound(Arr): Arr(i, 1) = Left(Arr(i, 1), 3): Next
                  .[B2].Resize(UBound(Arr)) = Arr
            End With
      Next
   End Sub

  這樣也許可以很快把40幾個工作表做完

TOP

回復 1# ABK


    在 B 攔填入公式:

    cells(2,"B").formula = "= LEFT(A2,3)"
    cells(3,"B").formula = "= LEFT(A3,3)"

TOP

回復 10# n7822123


    謝謝,我學習了這一招:
         "用VBA寫函數就更簡單了,不用迴圈,一行解決
           函數裡的A2會自動變更為A3,A4,A5"

      我曾經在其他地方寫的模式是把列 用 i 當變數:
         .Cells(i, "B").Formula = "=LEFT(A" & i & ",3)"

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題