VBA代码在excel 2013中运行,但不在2010中运行

用户名

我使用excel 2013编写的以下代码可在excel 2013上使用,但是在我公司的2010版本的excel上尝试使用以下代码时,如果在输入框对话框上单击“取消”按钮并在代码行处停止,则会产生错误:

EntryDate = CDate(InputBox("Insert Date", "Insert Date", vbOKCancel))

说:键入不匹配,数字是:运行时错误'13':

为什么?

    Sub InsertNewEntry()
'
' InsertNewEntry Macro
' To Insert New Entry for exchange rates
'

Dim LastRow As Integer, EntryDate As Date
Dim EURtoUSD As Double, JODtoUSD As Double, ILStoUSD As Double

' determine the number of the last row entered
LastRow = ThisWorkbook.Worksheets("Exchange Rates Template").Cells(Rows.Count, 2).End(xlUp).Row

'determine if last date is last day of the year
   If Cells(LastRow, 2) = #12/31/2014# Then
    MsgBox "You are not allowed to insert a date above " & "31/12/ " & Cells(4, 1).Value
    Exit Sub
   Else
    Cells(LastRow, 4).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    Cells(LastRow, 8).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    Cells(LastRow, 12).Select
    Selection.ListObject.ListRows.Add AlwaysInsert:=False
    Cells(LastRow + 1, 2).Select
    EntryDate = CDate(InputBox("Insert Date", "Insert Date", vbOKCancel))
      If EntryDate <> "" Then
       Cells(LastRow + 1, 2) = EntryDate
       Cells(LastRow + 1, 3) = "EUR to USD"
       Cells(LastRow + 1, 6) = EntryDate
       Cells(LastRow + 1, 7) = "JOD to USD"
       Cells(LastRow + 1, 10) = EntryDate
       Cells(LastRow + 1, 11) = "ILS to USD"
      Else
       Cells(LastRow + 1, 2).Select
       Selection.ListObject.ListRows(LastRow - 3).Delete
       Cells(LastRow + 1, 6).Select
       Selection.ListObject.ListRows(LastRow - 3).Delete
       Cells(LastRow + 1, 10).Select
       Selection.ListObject.ListRows(LastRow - 3).Delete
       Exit Sub

      End If
   End If

End Sub
悉达思·劳特(Siddharth Rout)

更改EntryDate As DateEntryDate As Variant

并改变线,

EntryDate = CDate(InputBox("Insert Date", "Insert Date", vbOKCancel))` to

EntryDate = InputBox("Insert Date", "Insert Date", vbOKCancel)

在那条线之后

添加此行

If EntryDate = False Then Exit Sub

在这一行之后,您可以写

EntryDate  = Cdate(EntryDate)

原因很简单,因为Cdate(False)它将给您00:00:00Cdate(True)也将给您29/12/1899

评论的跟进

这是您要尝试的吗?

Dim EntryDate As Variant

EntryDate = InputBox("Insert Date", "Insert Date", vbOKCancel)

If EntryDate = False Then Exit Sub

If EntryDate <> "" Then
    EntryDate = CDate(EntryDate)
    Cells(LastRow + 1, 2).Value = EntryDate
    Cells(LastRow + 1, 3).Value = "EUR to USD"
    Cells(LastRow + 1, 6).Value = EntryDate
    Cells(LastRow + 1, 7).Value = "JOD to USD"
    Cells(LastRow + 1, 10).Value = EntryDate
    Cells(LastRow + 1, 11).Value = "ILS to USD"
Else
    Cells(LastRow + 1, 2).ListObject.ListRows(LastRow - 3).Delete
    Cells(LastRow + 1, 6).ListObject.ListRows(LastRow - 3).Delete
    Cells(LastRow + 1, 10).ListObject.ListRows(LastRow - 3).Delete
    Exit Sub
End If

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA代码在excel 2013中运行,但不在2010中运行

来自分类Dev

VBA在Windows Excel上运行,但不在Mac Excel中运行

来自分类Dev

代码在SLIME + SBCL中运行,但不在普通SBCL中运行

来自分类Dev

GStreamer:管道在gst-launch-1.0命令中运行,但不在c ++代码中运行

来自分类Dev

Quartz.Net F#代码在脚本中运行,但不在主脚本中运行

来自分类Dev

代码片段在 JSFiddle 中运行但不在我的 IDE 中运行(时间增加 30 分钟)?

来自分类Dev

代码从解释器运行但不在编辑器中运行

来自分类Dev

VBA代码中的OLEObjects错误(Excel 2010)

来自分类Dev

pySerial非常奇怪的行为...代码在shell中执行但不在脚本中运行

来自分类Dev

jQuery代码在单击按钮后停止运行(在Firefox中,即safari,但不在chrome中)

来自分类Dev

C++ 代码在 Windows 7 中运行,但不在 Windows 10 中

来自分类Dev

Excel VBA 代码中的错误

来自分类Dev

使用MS Access在Excel VBA中运行代码

来自分类Dev

运行R脚本的VBA代码:Excel中的输出图像问题

来自分类Dev

使用MS Access在Excel VBA中运行代码

来自分类Dev

代码在LinqPad中并行运行,但不在控制台应用程序中并行运行...为什么?

来自分类Dev

使用VBA插入数据透视表可在Excel 2013中工作,但不能在Excel 2010中工作,无需更改代码

来自分类Dev

我的代码使用 console.log 离线运行,但不在浏览器中

来自分类Dev

在Access中运行VBA代码

来自分类Dev

SentOnBehalfOf在Excel 2010 VBA代码中不起作用

来自分类Dev

Excel 2013 VBA代码中的特殊字符(字母čćžšđ)

来自分类Dev

用于删除 Excel 2010 的 VBA 代码

来自分类Dev

VBA代码以在Excel中自动单击确定

来自分类Dev

Excel VBA:代码中的换行符

来自分类Dev

搜索代码Excel Vba中的增量行

来自分类Dev

我的 VBA Excel 2013 代码未编译

来自分类Dev

在Windows上运行但不在Linux上运行的Java代码

来自分类Dev

VBA在excel和detach的另一个实例中运行代码

来自分类Dev

SharePoint 2010中的PowerShell脚本可通过Management Shell运行,但不能通过C#代码运行。可能是什么原因?

Related 相关文章

  1. 1

    VBA代码在excel 2013中运行,但不在2010中运行

  2. 2

    VBA在Windows Excel上运行,但不在Mac Excel中运行

  3. 3

    代码在SLIME + SBCL中运行,但不在普通SBCL中运行

  4. 4

    GStreamer:管道在gst-launch-1.0命令中运行,但不在c ++代码中运行

  5. 5

    Quartz.Net F#代码在脚本中运行,但不在主脚本中运行

  6. 6

    代码片段在 JSFiddle 中运行但不在我的 IDE 中运行(时间增加 30 分钟)?

  7. 7

    代码从解释器运行但不在编辑器中运行

  8. 8

    VBA代码中的OLEObjects错误(Excel 2010)

  9. 9

    pySerial非常奇怪的行为...代码在shell中执行但不在脚本中运行

  10. 10

    jQuery代码在单击按钮后停止运行(在Firefox中,即safari,但不在chrome中)

  11. 11

    C++ 代码在 Windows 7 中运行,但不在 Windows 10 中

  12. 12

    Excel VBA 代码中的错误

  13. 13

    使用MS Access在Excel VBA中运行代码

  14. 14

    运行R脚本的VBA代码:Excel中的输出图像问题

  15. 15

    使用MS Access在Excel VBA中运行代码

  16. 16

    代码在LinqPad中并行运行,但不在控制台应用程序中并行运行...为什么?

  17. 17

    使用VBA插入数据透视表可在Excel 2013中工作,但不能在Excel 2010中工作,无需更改代码

  18. 18

    我的代码使用 console.log 离线运行,但不在浏览器中

  19. 19

    在Access中运行VBA代码

  20. 20

    SentOnBehalfOf在Excel 2010 VBA代码中不起作用

  21. 21

    Excel 2013 VBA代码中的特殊字符(字母čćžšđ)

  22. 22

    用于删除 Excel 2010 的 VBA 代码

  23. 23

    VBA代码以在Excel中自动单击确定

  24. 24

    Excel VBA:代码中的换行符

  25. 25

    搜索代码Excel Vba中的增量行

  26. 26

    我的 VBA Excel 2013 代码未编译

  27. 27

    在Windows上运行但不在Linux上运行的Java代码

  28. 28

    VBA在excel和detach的另一个实例中运行代码

  29. 29

    SharePoint 2010中的PowerShell脚本可通过Management Shell运行,但不能通过C#代码运行。可能是什么原因?

热门标签

归档