簡體   English   中英

復制並粘貼到BS列的下一個空行中的宏

[英]macro for copy and paste into next empty row for columns B-S

我有一份運行中的月度報告來說明我們的銷售情況。 每天,我都會在一份報告中獲得每個分支的銷售額。 我在單元格E1中保存了一個Vlookup公式,該公式將根據我的工作將報表中的信息移到另一張工作表中。 我可以復制E1並將其粘貼到具有BS列范圍的一行中的每個單元格中,然后再次復制該行並粘貼值,以便它不會更改我的金額。 第二天,我在下一行重復執行該過程,這樣我可以得出每個分支機構以及整個公司每月的運行總額。 我的每月圖表總是圍繞23行。(在Excel中排6-28)

我需要一個可以執行以下操作的宏:首先,我運行該宏,它將復制我的單元格E1並將其粘貼到B6-S6行中,然后復制該行並粘貼該行中的值。 然后,在每月的2號,我運行宏,然后重復執行,但在B7-S7行上。 然后,在每月的3號,我運行宏,然后重復執行,但在B8-S8行上。

這可能嗎?

這就是我僅記錄宏的內容。

Sub Charges()
'
'Charges Macro
'Run Formula for charges
'
' Keyboard Shortcut: Ctrl+Shift+C
'
    Range("E1").Select
    Selection.Copy
    Range("B8:S8").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
 End Sub

也許這個? 您可以直接傳輸值,而無需復制和粘貼。

閱讀關於如何使通過避免選擇/激活代碼效率更高。

Sub Charges()

Dim n As Long

n = WorksheetFunction.Max(6, Range("B" & Rows.Count).End(xlUp).Row + 1)

Range("B" & n & ":S" & n).Value = Range("E1").Value

End Sub

如果要復制公式,然后用值覆蓋,則可以使用此值

Sub Charges()

Dim n As Long

n = WorksheetFunction.Max(6, Range("B" & Rows.Count).End(xlUp).Row + 1)

Range("E1").Copy Range("B" & n & ":S" & n)

Range("B" & n & ":S" & n).Value = Range("B" & n & ":S" & n).Value

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM