2015-02-10 5 views
5

मैं की तरह कुछ के साथ एक पाश का उपयोग किए बिना एक ही मूल्य के लिए कई worksheets में एक विशेष सेल सेट कर सकते हैं में कोशिकाओं की स्थापना में लूप्स से बचना:विभिन्न कार्यपत्रक

Sub ThisWorks() 
    Sheets(Array("Sheet1", "Sheet3")).Select 
    Sheets("Sheet1").Activate 
    Range("B9").Select 
    ActiveCell.FormulaR1C1 = "=""x""" 
End Sub 

में स्थानों ऊपर मैक्रो एक ही मूल्य चल रहा है सब B9s worksheets मेंसरणी()

मैं बनाने और वस्तु ऊपर कोड के बराबर का उपयोग करके एक ही बात करने के लिए कोशिश कर रहा हूँ में शामिल:

012,
Sub ThisPartiallyWorks() 
    Dim obj As Object 
    Set obj = Sheets(Array("Sheet1", "Sheet3")) 
    obj.Select 
    Range("A2").Formula = "=""x""" 
End Sub 

यह त्रुटि के बिना चलाता है, लेकिन केवल एक कार्यपत्रक = "x" इच्छित सेल में हो जाता है।

मैं क्या गलत कर रहा हूं ??

Sub Finally() 
    Dim obj As Object 
    Set obj = Sheets(Array("Sheet1", "Sheet3")) 
    obj.Select 
    obj(1).Activate 
    Range("B9").Select 
    ActiveCell.FormulaR1C1 = "=""x""" 
End Sub 

हालांकि:

संपादित करें # 1

वसीली के पोस्ट मुझे सुराग दे दी है ................ इस संस्करण काम करने के लिए प्रकट होता है ऐसा लगता है कि से बचा जा सकता है, इस धारणा का उल्लंघन करना प्रतीत होता है।

उत्तर

4

मुझे समझ में आता है कि यह वही नहीं है जो आप चाहते हैं, लेकिन कोडिंग को कम करने के विकल्पों में से एक के रूप में।

Sub test() 
    Dim obj As Object, i& 
    Set obj = Sheets(Array("Sheet1", "Sheet3")) 
    For i = 1 To obj.Count: obj(i).[B9].Formula = "=""x""": Next 
End Sub 

संपादित करें # 1

इस

Sub Finally() 
    Dim obj As Object 
    Set obj = Sheets(Array("Sheet1", "Sheet3")) 
    obj.Select: obj(1).[B9].Activate: ActiveCell.Formula = "=""x""" 
End Sub 
+1

दिलचस्प 'ओबीजे' प्रदर्शन, मुझे कुछ नया सिखाए जाने के लिए +1 –

+1

धन्यवाद .... जबकि यह वही नहीं है जो मैं चाहता हूं, कम से कम आपने मुझे इस प्रकार के ऑब्जेक्ट का उपयोग करने का एक तरीका दिखाया है ..... ** (+ 1) ** –

+1

धन्यवाद फिर से ........... मेरा ** EDIT # 1 ** –

0
Instead of using complex arrays, when you specifically know only two sheets need to be edited. Then we can do in simple. 

उप ThisWorks()

Sheets("Sheet1").select 
    Range("B9").Select 
    ActiveCell.FormulaR1C1 = "=""x""" 
    Sheets("Sheet3").select 
    Range("B9").Select 
    ActiveCell.FormulaR1C1 = "=""x""" 
End Sub 
कैसा लग सकता है
+0

यदि आप कृपया अपना उत्तर संपादित कर सकते हैं और समझा सकते हैं कि आप जो कोड दिखा रहे हैं, और क्यों/कोड उस प्रश्न का उत्तर कैसे देता है, तो यह वास्तव में मदद कर सकता है। –

संबंधित मुद्दे