/ / Kompilierungsfehler: Erwartete Funktion oder Variable - Excel, Excel-Vba, Excel-Vba-Mac, Excel-2011, VBA

Kompilierfehler: Erwartete Funktion oder Variable - Excel, Excel-VBA, Excel-VBA-MAC, Excel-2011, VBA

Ich habe dieses Makro (in Excel 2016 / Windows geschrieben)Das ist ein sehr einfaches Reservierungswerkzeug, das prüft, ob ein Asset momentan gebucht oder kostenlos ist. Abhängig davon schreibt es entweder, wann der gebuchte Zeitraum endet oder wann der nächste gebuchte Zeitraum in einem anderen Arbeitsblatt beginnt:

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

Dies funktioniert in Office 2016 (Windows 10) einwandfrei, führt jedoch zu einem Kompilierungsfehler: Erwartete Funktion oder Variable, wenn ich versuche, sie in Office 2011 für Mac oder Office 2015 für Mac auszuführen.

Kann mir jemand in die richtige Richtung weisen, oder gibt mir an, wie ich den Code ändern kann, damit er funktioniert?

Danke im Voraus! Jascha

Antworten:

2 für die Antwort № 1

Die Fehlerbehandlung in VBA Excel 2011 ist nicht so gut wie das von "Window".

Sie haben diese Fehlermeldung erhalten, weil Sie verwendet haben With/End With mit ActiveCell.Offset(0, 1).Select

Diesen Fehler können Sie am besten reproduzieren, indem Sie diesen Code in ein Modul einfügen

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

Bildbeschreibung hier eingeben

Hinweis: Sie und ich haben diese Fehlermeldung später nicht erhalten, weil Sie Ihren Beitrag geändert haben, den wir beide getestet haben :)

Interessantes Lesen