编译错误:期望的函数或variables

我有这个macros(在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中运行它时出现编译错误:Expected Function或variables。

任何人都可以在正确的方向指向我的原因,或告诉我如何改变代码,使其工作?

提前致谢! 雅舍

VBA Excel 2011中的error handling不如Window的对应方式。

你得到了这个错误,因为你使用With/End WithActiveCell.Offset(0, 1).Select

重现该错误的最佳方法是将此代码粘贴到模块中

 Sub Schaltfläche1_Klicken() With ActiveCell.Offset(0, 1).Select End With End Sub 

在这里输入图像说明

:你和我以后没有得到这个错误,因为你修改了我们都testing过的post:)

有趣的阅​​读