我試圖粘貼公式在單元格範圍旁邊,但僅包含一個包含值的公式,該腳本必須循環,直到範圍中的下一個單元格爲空。例如Sheet 1 Column A
包含日期直到第12行,那麼我想在列中粘貼一個公式D2:D12
列表中的公式循環粘貼公式,直到範圍中的下一個單元格爲空
回答
像這樣?
Option Explicit
Sub Sample()
Dim lastRow As Long, i As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
lastRow = ws.Range("A" & Rows.Count).End(xlUp).Row
With ws
For i = 1 To lastRow
If Len(Trim(.Range("A" & i).Value)) <> 0 Then _
.Range("D" & i).Formula = "YOUR FORMULA"
Next i
End With
End Sub
當你正在觀察到的第一個空白單元格,然後你就可以避免一個循環,並使用
代碼中包含一個測試,以確保如果所有A列的是代碼不進行空白 - 即,如果從A1向下的範圍延伸至片的底部,並且A1是空白
此代碼添加一個示例公式中B列在列d每個單元鏈接到相應的行
Sub FillData()
Dim rng1 As Range
Set rng1 = Range([a1], [a1].End(xlDown))
If Not (rng1.Rows.Count = Rows.Count And Len([a1].Value) = 0) Then rng1.Offset(0, 3).FormulaR1C1 = "=RC2"
End Sub
我對晚會有點遲,但這是一個很好的選擇,避免循環。 – Reafidy 2012-02-13 00:12:06
我喜歡Sid的開始,但一旦你有行的範圍內,可以一次全部插入公式插入列d,無循環,多種方式,這裏有一個:
Option Explicit
Sub AddFormula()
Dim LR As Long
LR = Range("A" & Row.Count).End(xlUp).Row
Range("D2:D12").Formula = "=A2 + 7" 'just an example of a formula
End Sub
謝謝傑裏:)。但是,如果沒有空白單元格,這可能不會有幫助:)如果沒有空白單元格,那麼你的方法是最快的方法:) +1 – 2012-02-11 18:11:25
好點,我這麼長時間的習慣一直在構造公式,這樣做爲我測試,所以VBA不必。我插入的公式將如下所示:** = IF(A1 <>「」,MyFormula,「」)**。 – 2012-02-14 00:56:37
試試這個:
Range("A:A").SpecialCells(2).Areas(1).Offset(, 3).Formula = "MyFormula"
這是內置到Excel中一個簡單的解決方案,只要你不想複製到第一個空白,跳過空白,然後繼續複製:
在第一個單元格中輸入公式你的範圍,並且只要它直接在列中在填充單元格範圍的左側或右側,只需雙擊單元格右下角的黑盒子處理程序即可。這會自動將公式複製到範圍的最後一個非空單元格。
- 1. Excel宏循環遍歷範圍,直到找到值,填充下面找到的單元格的公式範圍
- 2. 在Worksheet_Change中選擇一個粘貼範圍的單元格
- 3. 宏複製並粘貼到下一個空白單元格中
- 4. 根據相鄰單元中的條件粘貼範圍中的下一個空白單元格中的數據
- 5. 範圍與空白單元格複製並粘貼到單個列
- 6. 選擇範圍複製粘貼運行宏清除循環直到空白列,
- 7. 格式化單元格會阻止我粘貼範圍
- 8. 宏將數值從第一個單元格粘貼到下面的所有空白單元格直到行尾
- 9. 複製單元格範圍並粘貼下面
- 10. 重複循環,直到空單元格
- 11. 如何將vba粘貼到包含公式的單元格中
- 12. 剪切一個範圍和粘貼特定公式
- 13. 將單元格範圍從Excel粘貼到Powerpoint
- 14. 更有效地粘貼整個範圍的公式和值?
- 15. Excel:如何將「值」粘貼到第一個空白單元格?
- 16. VBA Excel粘貼到最後一個空單元格
- 17. 將格式化的Excel範圍粘貼到Outlook任務中
- 18. Excel公式參考單元格上面最後一個單元格的範圍
- 19. 只複製和粘貼範圍內使用的單元格
- 20. 從一個可變的範圍粘貼
- 21. 根據循環變量選擇一個單元格範圍
- 22. VBA在特殊單元格更改後複製粘貼範圍
- 23. 將相對公式輸入一個單元格範圍
- 24. VBA粘貼範圍
- 25. AppleScript,循環遍歷列(直到空),複製並粘貼到網絡表格
- 26. 如何通過宏在單元格中粘貼公式?
- 27. 循環SQL直到相關單元格爲空
- 28. Excel VBA粘貼到多個範圍
- 29. 粘貼後移動一個範圍
- 30. 如何獲取Excel的單元格的範圍爲循環
Sid,投了1票,雖然我認爲這是一個「向下看」,而不是「仰望」的興趣範圍。 – brettdj 2012-02-11 08:34:23
即使我想到了這一點,但當我重新讀到這個問題「例如表1列A包含日期,直到第12行」我決定,否則:) – 2012-02-11 08:37:15