在所有工作表中使用宏

时间:2018-07-19 16:45:21

标签: excel-vba

我是VBA的新手,设法将一种有效的用户表单组合在一起,这是一种简单的输入呼叫详细信息的方法,一次可以输入。

我的工作簿有几个工作表,“ 7月18日呼叫”,“ 8月18日呼叫”等。问题是该代码仅适用于“ 7月18日呼叫”工作表。

如果我改换一个月,则会出现“下标超出范围”错误。

我要做的就是在本月使用宏,然后在8月等使用

代码是:

Private Sub CommandButton2_Click()

Dim lRow As Long
Dim ws As Worksheet
Set ws = Sheets("July 18 calls")

lRow = ws.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
With ws
    If Me.txtDateBox.Value = "" Then...AND MORE CODE...

我无法全神贯注地使代码在任何活动的工作表中都能正常工作,但是即使我每个月必须更改工作表的名称,我也愿意解决一些简单的事情!

任何帮助将不胜感激。

a。

1 个答案:

答案 0 :(得分:0)

首先尝试更换:

Set ws = Sheets("July 18 calls")

具有:

Set ws = ActiveSheet

并使工作表选择自动,使用:

Set ws = Sheets(Format(Date, "mmmm yy") & " calls")