एक्सेल वीबीए पंक्ति संग्रह में कॉपी - एक्सेल, वीबीए, एक्सेल-वीबीए

मैं पंक्तियों का एक पूरा समूह एक में कॉपी करने की कोशिश कर रहा हूंवीबीए के साथ संग्रह। (यहां वीबीए नोब)। मेरे पास दो चादरें हैं, 1 सक्रिय कहा जाता है, और पुरालेख। सक्रिय में मेरे पास जॉब नंबर नामक एक कॉलम है जो अन्य डेटा का आधार है। मुझे उन सभी पंक्तियों की प्रतिलिपि बनाने की आवश्यकता है जहां नौकरी संख्या खाली नहीं है और प्रत्येक पंक्ति को मेरी संग्रह पत्र पर अलग-अलग कॉपी करें जहां एक खाली पंक्ति उपलब्ध है। और उसके बाद नौकरी संख्या सेल साफ़ करें।

नीचे मैं अब तक क्या है।असल में मुझे उन सभी पंक्तियों को लेने की ज़रूरत है जिनके पास कॉलम ई में एक nonempty सेल है। (मैंने पिछले गैर खाली रिकॉर्ड्स तक पंक्तियों की गिनती करने की कोशिश की -> NumRows) को पुरालेख (lr2) में अंतिम गैर खाली चर का स्थान भी मिलता है और फिर मैंने कॉपी करने के लिए लूप की कोशिश की लेकिन यह कुछ भी नहीं करता है। कोई भी मदद शानदार होगी।

Sub Archiver()
Dim lr As Long, lr2 As Long, r As Long, NumRows As Integer
lr2 = Sheets("Archive").Cells(Rows.Count, "E").End(xlUp).Row
NumRows = Range("A1", Range("A1").End(xlDown)).Rows.Count
For r = 5 To NumRows
Rows(r).Copy Destination:=Sheets("Archive").Range("A" & lr2 + 1)
lr2 = Sheets("Archive").Cells(Rows.Count, "E").End(xlUp).Row
Next r
End Sub

उत्तर:

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

इसे इस्तेमाल करे:

Sub Archiver()
Dim lr2 As Long
Dim y As Worksheet, z As Worksheet
Dim copyRng As Range


Set y = Sheets("Active")
Set z = Sheets("Archive")

lr2 = y.Cells(rows.Count, "E").End(xlUp).Row

"Here you select the range of your sheet you want to copy, for me is A:E
Set copyRng = y.Range("A2:E" & lr2)

z.Range("A2:E" & copyRng.rows.Count + 1).Insert Shift:=xlDown
copyRng.Copy z.Range("A2")

y.Range("A2:E" & lr2).ClearContents

End Sub

संबंधित सवाल
सबसे लोकप्रिय