我想在excel VBA
中的多个区域使用下面的代码,但是代码中的变量必须进行一些更改才能使其特定于该区域。例如,
Dim XXXcountcurrent As Long
' Delete the items containing the word XXX in Material current
Sheets("Materials Current").Select
Range("A2:C" & Cells(Rows.count, "A").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
If XXXcountcurrent <> 0 Then
Selection.Rows.Delete
End If
ActiveSheet.Range("$A:$C").AutoFilter Field:=2
'Paste XXX total in workings sheet
Sheets("Workings").Select
rcell.Offset(?) = XXXcountcurrent
上面的代码是取自VBA
的一小部分。所指示的XXX指的是不同的场景,例如,它可以引用"knife"
,"handle"
等。此外,我希望在由...指示的代码中调整偏移小区。 (我不张扬这也必须是可变的。)
当只进行很小的更改时,我不想重复代码。有人可以帮忙吗?
答案 0 :(得分:0)
你有很多选项,我很可能在子例程中有这个可重复的代码,并在调用时填充变量。
以下是如何以非常基本的格式执行此操作的示例:
Sub TestCallingSubs()
CallingSubs "Hello"
CallingSubs "World"
CallingSubs "!!!!!"
End Sub
Sub CallingSubs(MyString As String)
MsgBox MyString
End Sub
答案 1 :(得分:0)
将代码放在子例程中,例如:
Sub DoSomething(ByVal xxx As String, ByVal myOffset As Long)
'here's your code
End Sub
然后这样称呼:
Sub Whatever
DoSomething "John Doe", 0
End Sub