/ / एक्सेल में वर्कशीट की एक सरणी मुद्रण - एक्सेल, vba

Excel में वर्कशीट की एक सरणी मुद्रित करना - एक्सेल, vba

नीचे दिया गया कोड कई कार्यपुस्तिकाओं में कार्यपत्रक मुद्रित करने का प्रयास करता है।

Dim wb1, wb2, wb3 as workbook

set wb1 = workbooks.open(......)

set wb2 = workbooks.open(......)

set wb3 = workbooks.open(......)

Sheets(Array(wb1.Sheets(...),wb2.Sheets(...),wb3.Sheets(...))).PrintOut

अंतिम पंक्ति पर मेरे रनों में टाइपमैस्मैच त्रुटि है। मैं बेमेल क्या हूं?

उत्तर:

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

जैसा कि कार्यालय में लिखा गया है VBA संदर्भ, द Sheets-Object को संदर्भित करता है

निर्दिष्ट या सक्रिय कार्यपुस्तिका में सभी शीट्स का एक संग्रह।

इसलिए एक ही कार्य में अलग-अलग वर्कबुक से शीट प्रिंट करना संभव नहीं होगा। इसके अलावा, वाक्यविन्यास ist Sheets(Index) इसलिए इसलिए index या name पत्रक पारित करना होगा।

Sub testPrint()
Dim wb1 As Workbook
Dim wb2 As Workbook

Dim s(1) As Worksheet

Dim mySheet As Variant

"
" collect sheets from different workbooks
"
Set wb1 = Workbooks("wm1.xlsm")
Set wb2 = Workbooks("wm2.xlsm")

Set s(0) = wb1.Sheets(1)
Set s(1) = wb2.Sheets(1)

"
" print or print preview sheets after each other
"
For Each mySheet In s
mySheet.PrintPreview
Next

End Sub

यदि आप एक ही कार्य में एक कार्यपुस्तिका से कई पत्रक मुद्रित करना चाहते हैं, तो आप कर सकते हैं select उन्हें और फिर सभी चयनित लोगों को प्रिंट करें।