मेरे पास यह मैक्रो है (एक्सेल 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 № 1VBA Excel 2011 में त्रुटि से निपटने के रूप में यह "विंडो" समकक्ष के रूप में महान नहीं है।
आपको वह त्रुटि मिल रही थी क्योंकि आप उपयोग कर रहे थे With/End With
साथ में ActiveCell.Offset(0, 1).Select
उस त्रुटि को पुन: उत्पन्न करने का सबसे अच्छा तरीका इस कोड को एक मॉड्यूल में पेस्ट करना है
Sub Schaltfläche1_Klicken()
With ActiveCell.Offset(0, 1).Select
End With
End Sub
ध्यान दें: आपने और मैंने "उस त्रुटि को बाद में नहीं लिया क्योंकि आपने अपनी पोस्ट को संशोधित किया था जिसे हम दोनों ने परीक्षण किया :)