簡體   English   中英

自動化 activecell 值和偏移量 function

[英]automate activecell values and offset function

“請幫助我使用輸入 function 自動執行以下代碼,以便我只需在輸入框中鍵入數字即可自動填充所需的行。”

sub DAY()
GENERAL Macro


ActiveCell.Value = "DAY"

Select Case ActiveCell.Value

Case "DAY"
    ActiveCell.Resize(, 1).Value = "DAY"
    ActiveCell.Offset(, 1).Value = "OFF"
    ActiveCell.Offset(, 2).Value = "DAY"
    ActiveCell.Offset(, 3).Value = "OFF"
    ActiveCell.Offset(, 4).Value = "DAY"
    ActiveCell.Offset(, 5).Value = "OFF"
    ActiveCell.Offset(, 6).Value = "DAY"
    ActiveCell.Offset(, 7).Value = "OFF"
    ActiveCell.Offset(, 8).Value = "DAY"
    ActiveCell.Offset(, 9).Value = "OFF"
    ActiveCell.Offset(, 10).Value = "DAY"
    ActiveCell.Offset(, 11).Value = "OFF"
    ActiveCell.Offset(, 12).Value = "DAY"
    ActiveCell.Offset(, 13).Value = "OFF"


 End Select

 End Sub

“請幫助我使用輸入 function 自動執行以下代碼,以便我只需在輸入框中鍵入數字即可自動填充所需的行。”

我想你可能想要這樣的東西?

Sub PopulateListByRows()
    Dim n As Long, a As Long, ArrTxt
    n = InputBox("How many days?")
    ArrTxt = Array("Day", "Off")
    For a = 1 To n
        ActiveCell.Offset(a - 1).Value = ArrTxt((a + 1) Mod 2)
    Next
End Sub

Sub PopulateListByColumns()
    Dim n As Long, a As Long, ArrTxt
    n = InputBox("How many days?")
    ArrTxt = Array("Day", "Off")
    For a = 1 To n
        ActiveCell.Offset(0, a - 1).Value = ArrTxt((a + 1) Mod 2)
    Next
End Sub

你可以使用公式

Sub Day()
    Dim n As Long
    n = CLng(InputBox("How many days?"))
    With ActiveCell.Resize(1, 2 * n)
        .FormulaR1C1 = "=IF(RC[-1]=""DAY"",""OFF"",""DAY"")"
        .Value = .Value
    End With
End Sub

暫無
暫無

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

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