簡體   English   中英

VBA循環啟動宏

[英]Vba loop to start A macro

我的功能有一些問題。

我想在A6到A100列中輸入日期:對於每個日期,請復制該日期,然后從該日期開始創建宏。 它只能復制,但多數民眾贊成在它不起作用。 有想法嗎? 謝謝

到目前為止,我有這個:

 Sub macro1
    Dim I as variant 
    Din sheet1 as worksheet
    Dim sheet2 as worksheet 

    For I = 6 to 100
    Sheet1.cells(I,1).copy
    Sheet2.cells("A3").paste

    Call macro2

    Next i

End sub

此行是錯誤的Sheet2.cells("A3").Paste將代碼更改為

Sheet1.Cells(2, 1).Copy Sheet2.Range("A3")
Application.CutCopyMode = False

使用一些良好的編碼習慣:

Option Explicit '<--| this will force you to explicitly declare each variable but will repay you with much more control over your code and save both code debugging and maintaining time

Sub macro1()
    Dim i As Long '<--| better use Long instead of Integer type

    For i = 6 To 100
        Sheet2.Cells("A3").Value = Sheet1.Cells(i, 1).Value '<--| just copy values
        macro2 '<--| call macro2, no need far "Call" keyword
    Next i
End Sub

暫無
暫無

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

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