运行时错误424:新版本&旧版

时间:2015-02-09 02:36:10

标签: excel vba excel-vba runtime-error

我完全不知所措......这个宏看Range,用Rnd绘制一个数字,然后创建一个vlookup每次带回一个引用和作者我打开我的工作簿(应该适用)。

这个错误刚刚今晚开始,但仅限于今天的版本。我能够打开旧版本并按预期运行代码。

以下是"今天"最新副本并生成运行时错误,并在定义字符串quote的行上发生中断:

Private Sub Workbook_Open()

Dim sht As Object
Dim RandNumb As Integer
Dim quote As String
Dim author As String
Dim ws As Worksheet

Set ws = Worksheets("Home")

  'Make "Home" Sheet visible and select
ws.Visible = True

  'Search for all sheets not named "Home" and hide them
For Each sht In Worksheets
    If sht.Name <> "Home" Then
    sht.Visible = xlSheetHidden
    End If
Next sht

  'Create random number, then vlookup based off number

RandNumb = Int((56 - 1 + 1) * Rnd + 1)
quote = Application.WorksheetFunction.VLookup(RandNumb, Sheet3.Range("ba101:bc465"), 2, False)
author = Application.WorksheetFunction.VLookup(RandNumb, Sheet3.Range("ba101:bc465"), 3, False)

If quote <> Empty Then
    MsgBox quote & vbNewLine & vbNewLine & " - " & author, vbOKOnly, "Quote of the day"
End If

End Sub

虽然2/6的版本工作得很好:

Private Sub Workbook_Open()

Dim sht As Object
Dim RandNumb As Integer
Dim quote As String
Dim author As String
Dim ws As Worksheet

Set ws = Worksheets("Home")

  'Make "Home" Sheet visible and select
ws.Visible = True
ws.Select
Range("A1").Select

  'Search for all sheets not named "Home" and hide them
For Each sht In Worksheets
    If sht.Name <> "Home" Then
    sht.Visible = xlSheetHidden
    End If
Next sht

  'Create random number, then vlookup based off number

RandNumb = Int((56 - 1 + 1) * Rnd + 1)
quote = Application.WorksheetFunction.VLookup(RandNumb, Sheet3.Range("ba101:bc465"), 2, False)
author = Application.WorksheetFunction.VLookup(RandNumb, Sheet3.Range("ba101:bc465"), 3, False)

If quote <> Empty Then
    MsgBox quote & vbNewLine & vbNewLine & " - " & author, vbOKOnly, "Quote of the day"
End If

End Sub

这些代码对我来说没有什么不同。即使我从2/6复制版本并将其放入&#34;今天&#34;我继续收到错误。请帮助。

1 个答案:

答案 0 :(得分:0)

这是由@Rory解决的;我不小心改变了表单的名称,但没有更改代码。