/ / संकलन त्रुटि: अपेक्षित कार्य या परिवर्तनशील

संकलित त्रुटि: अपेक्षित फ़ंक्शन या चर - एक्सेल, एक्सेल-वीबीए, एक्सेल-वीबीए-मैक, एक्सेल -2011, वीबीए

मेरे पास यह मैक्रो है (एक्सेल 2016 / विंडोज में लिखा है)यह एक बहुत ही सरल आरक्षण उपकरण के रूप में कार्य करता है, जो यह जाँचता है कि कोई संपत्ति वर्तमान में आरक्षित है या मुफ्त है। इसके आधार पर, यह या तो लिखता है कि बुक की गई अवधि कब समाप्त होगी या अगले बुक की गई अवधि किसी अन्य वर्कशीट में कब शुरू होगी:

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 या मैक के लिए Office 2011 में चलाने का प्रयास करता हूं।

क्या कोई मुझे इसके लिए कारण के रूप में सही दिशाओं में इंगित कर सकता है या मुझे बता सकता है कि इसे काम करने के लिए कोड को कैसे बदलना है?

अग्रिम में धन्यवाद! Jascha

उत्तर:

जवाब के लिए 2 № 1

VBA Excel 2011 में त्रुटि से निपटने के रूप में यह "विंडो" समकक्ष के रूप में महान नहीं है।

आपको वह त्रुटि मिल रही थी क्योंकि आप उपयोग कर रहे थे With/End With साथ में ActiveCell.Offset(0, 1).Select

उस त्रुटि को पुन: उत्पन्न करने का सबसे अच्छा तरीका इस कोड को एक मॉड्यूल में पेस्ट करना है

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

यहां छवि विवरण दर्ज करें

ध्यान दें: आपने और मैंने "उस त्रुटि को बाद में नहीं लिया क्योंकि आपने अपनी पोस्ट को संशोधित किया था जिसे हम दोनों ने परीक्षण किया :)

दिलचस्प पढ़ें