我有一个带有开始和停止按钮的Excel工作表。如果单击“开始”按钮,它将开始从名为“价格”的工作表中获取值,直到单击“停止”按钮为止。它运作完美。 但是,当我打开一个新的空白excel工作表时,出现错误“下标超出范围”。我的问题是,如果我按开始按钮,那么excel首先应在后台运行,并且我应该能够打开任何数量的其他工作簿。
我在下面的代码中给出了错误的出处。
Sub StartDataUpdate()
TimerActive = True
UpdateData
End Sub
Private Sub UpdateData()
If TimerActive Then
ConnectDB
Set rs1 = New ADODB.Recordset
Dim LocalTime As String
LocalTime = Format(Now(), "YYYY/MM/DD HH:MM:SS")
With Sheets("Price")
For rowCursor = 2 To 10
//Code to insert data in database
Next
End With
Set rs1.ActiveConnection = Nothing
oConn.Close
RepeatUpdate
End If
End Sub
当我打开一个新的空白excel工作表时,错误出现在With Sheets("Price")
行,为下标超出范围。
答案 0 :(得分:2)
Sheets("Price")
并不总是设置为宏的工作簿。请尝试ThisWorkbook.Sheets("Price")
,在这种情况下,它只会查看宏所在的工作簿。