我試圖粘貼公式在單元格範圍旁邊,但僅包含一個包含值的公式,該腳本必須循環,直到範圍中的下一個單元格爲空。例如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. 將單元格的範圍粘貼到第一個空行和空列
- 3. 在Worksheet_Change中選擇一個粘貼範圍的單元格
- 4. 宏複製並粘貼到下一個空白單元格中
- 5. 根據相鄰單元中的條件粘貼範圍中的下一個空白單元格中的數據
- 6. 如何在下一個空單元格粘貼而不是粘貼到同一個單元格
- 7. 範圍與空白單元格複製並粘貼到單個列
- 8. 選擇範圍複製粘貼運行宏清除循環直到空白列,
- 9. 格式化單元格會阻止我粘貼範圍
- 10. 宏將數值從第一個單元格粘貼到下面的所有空白單元格直到行尾
- 11. 複製單元格範圍並粘貼下面
- 12. 重複循環,直到空單元格
- 13. 在下一個空行中複製並粘貼設置範圍
- 14. 如何將vba粘貼到包含公式的單元格中
- 15. 複製範圍的單元格,粘貼到Word和格式 - Excel VBA
- 16. 剪切一個範圍和粘貼特定公式
- 17. 通過Excel工作簿循環,複製各個單元格的範圍並粘貼到主工作簿中
- 18. 將單元格範圍從Excel粘貼到Powerpoint
- 19. VBA直到循環代碼將單元格的範圍複製到其他範圍,直到相同的值
- 20. 更有效地粘貼整個範圍的公式和值?
- 21. Excel VBA - 循環到下一個可用的空白單元格
- 22. 將格式化的Excel範圍粘貼到Outlook任務中
- 23. Excel:如何將「值」粘貼到第一個空白單元格?
- 24. VBA Excel粘貼到最後一個空單元格
- 25. Excel:如何粘貼到第一個空白單元格?
- 26. 將SQL語句的結果粘貼到多個單元格的範圍內?
- 27. VBA幫助 - 粘貼到範圍中的下一行中For For
- 28. Excel公式參考單元格上面最後一個單元格的範圍
- 29. Python的Openpyxl,複製和粘貼單元格範圍
- 30. 只複製和粘貼範圍內使用的單元格
Sid,投了1票,雖然我認爲這是一個「向下看」,而不是「仰望」的興趣範圍。 – brettdj 2012-02-11 08:34:23
即使我想到了這一點,但當我重新讀到這個問題「例如表1列A包含日期,直到第12行」我決定,否則:) – 2012-02-11 08:37:15