【发布时间】:2017-06-14 18:56:39
【问题描述】:
我有这个宏(用 Excel 2016/Windows 编写),它充当一个非常简单的预订工具,检查资产当前是否已预订或免费。根据这一点,它会在另一个工作表中写入预订期间何时结束或下一个预订期间何时开始:
Sub Schaltfläche1_Klicken()
Worksheets("Tabelle10").Activate
With Columns(4)
.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlValues).Activate
End With
ActiveCell.Offset(0, -3).Select
If Selection.Value = "TODAY AM" Then
Sheets("HTML Output").Range("B3").Value = "Desk booked from this afternoon. Next availability"
ActiveCell.Offset(0, 3).Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Select
ActiveCell.Offset(0, -2).Select
Selection.Copy
Sheets("HTML Output").Range("C3").PasteSpecial xlPasteValues
ActiveCell.Offset(0, 1).Select
Selection.Copy
Sheets("HTML Output").Range("D3").PasteSpecial xlPasteValues
ElseIf Selection.Value = "TODAY PM" Then
Sheets("HTML Output").Range("B3").Value = "Desk booked from this afternoon. Next availability"
ActiveCell.Offset(0, 3).Select
Do Until IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Select
ActiveCell.Offset(0, -2).Select
Selection.Copy
Sheets("HTML Output").Range("C3").PasteSpecial xlPasteValues
ActiveCell.Offset(0, 1).Select
Selection.Copy
Sheets("HTML Output").Range("D3").PasteSpecial xlPasteValues
ElseIf Selection.Value = "TOMORROW AM" Or Selection.Value = "TOMORROW PM" Or Selection.Value = "FUTURE" Then
Sheets("HTML Output").Range("B3").Value = "Desk free until (including)"
ActiveCell.Offset(-1, 1).Select
Selection.Copy
Sheets("HTML Output").Range("C3").PasteSpecial xlPasteValues
ActiveCell.Offset(0, 1).Select
Selection.Copy
Sheets("HTML Output").Range("D3").PasteSpecial xlPasteValues
End If
End Sub
这在 Office 2016 (Windows 10) 中运行良好,但在我尝试在 Office 2011 for Mac 或 Office 2015 for Mac 中运行时导致编译错误:预期函数或变量。
谁能指出我正确的方向以及原因或告诉我如何更改代码以使其正常工作?
提前致谢! 雅沙
【问题讨论】:
-
出现错误时是否突出显示任何行?
-
是的,第一行'Sub Schaltfläche1_Klicken()'
-
你是如何启动代码的?它是一个 ActiveX 按钮单击事件吗?
-
这可能值得一读。似乎如果您使用的是 ActiveX 按钮,它将无法在 Mac 上运行 (mrexcel.com/forum/excel-questions/…)
-
刚刚在 Mac 上测试过。它给了我你得到的错误,但现在不是。您可以删除您的代码并重新粘贴并重试。我就是这样做的,它奏效了
标签: excel vba macos excel-2011