2011-03-12 4 views
20

सेट करता है इसलिए कमांड बटन क्लिक होने पर मेरे पास एक साधारण छोटा मैक्रो/उप परिभाषित होता है।सरल वीबीए कोड मुझे रन टाइम त्रुटि 91 ऑब्जेक्ट वैरिएबल देता है या ब्लॉक के साथ

भागो समय त्रुटि '91':: परिवर्तनशील वस्तु या ब्लॉक के साथ सेट

मेरे कोड है नहीं: समस्या यह मुझे देता है

Dim rng As Range 
rng = Sheet8.Range("A12") '<< ERROR here 
rng.Value2 = "1" 

मैं सिर्फ सेल "A12" सेट करना चाहते हैं शीट 8 में।

enter image description here

धन्यवाद!

+0

मुझे यकीन है कि 'शीट 8' है और निश्चित रूप से एक सेल 'ए 12' शीट है। शायद यह वाक्यविन्यास है? क्या यह अलग-अलग "ए" और "12" होना चाहिए? – gideon

उत्तर

30

आप वस्तुओं के साथ सेट की जरूरत है:

Set rng = Sheet8.Range("A12") 

Sheet8 ठीक है।

Sheet1.[a1] 
+0

+1 धन्यवाद कोई त्रुटि नहीं देता है लेकिन ए 12 सेल मान भी सेट नहीं करता है? क्या यह 'rng.Value' या' rng.Formula' होना चाहिए या तो काम नहीं करता है? – gideon

+0

लॉल! ठीक है अब 'rng.Value2 = "1" सेट करें मुझे एक रनटाइम त्रुटि देता है 424 – gideon

+0

@giddy मैं वापस आ गया हूं :) आप केवल एक ऑब्जेक्ट को एक चर सेट करने के लिए सेट का उपयोग करते हैं। आपके द्वारा पोस्ट किया गया कोड मेरे उत्तर के अनुसार, सेट के अतिरिक्त के साथ मेरे लिए ठीक काम करता है। शीट 8 मौजूद है? भूलें कि मैं शीट 8 को शीट 8 के रूप में नामित कर सकता हूं लेकिन यह अभी भी शीट 3 है। शीट 8 नामक शीट के साथ ऑब्जेक्ट शीट 8 को भ्रमित न करें। – Fionnuala