एक्सेल वीबीए, रंगीन पंक्तियों की प्रतिलिपि बनाना - एक्सेल, वीबीए, एक्सेल-वीबीए

मेरे पास तीन कॉलम, ए के साथ "शीट 1" में एक सूची है(खाता संख्या), बी (विवरण) और सी (राशि)। पहले दो कॉलम (ए और बी) रंग के आधार पर, मैं विशिष्ट पंक्ति को "शीट 2" पर कॉपी करना चाहता हूं और इसे एक विशिष्ट शीर्षलेख के तहत पेस्ट करना चाहता हूं (मेरे पास तीन शीर्षलेख हैं)।

उदाहरण

  1. शीट 1 - सेल ए 2 "लाल" है और बी 2 "पीला" है, शीट 2 में शीर्षलेख "अक्षमता" के तहत कॉपी / पेस्ट करें
  2. शीट 1 - सेल ए 3 "ब्लू" और बी 3 है "नो कलर" कॉपी / पेस्ट शीट 2 में हेडर "प्रभावी"

Account Number  Description  Amount
LP001022        Graduate     3,076.00
LP001031        Graduate     5,000.00
LP001035        Graduate     2,340.00

मैंने पहले से ही इस साइट से एक कोड लिया है, लेकिन मैं इसे अपनी आवश्यकताओं के लिए पूरी तरह से कॉन्फ़िगर नहीं कर सका। अग्रिम में मदद के लिए धन्यवाद।

Sub lastrow()
Dim lastrow As Long
Dim i As Long, j As Long
Dim acell As Range

With Worksheets("Sheet1")
lastrow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With

MsgBox (lastrow)

With Worksheets("Sheet3")
j = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
End With

For i = 1 To lastrow
With Worksheets("Sheet1")
If .Cells(i, 1).Interior.Color = RGB(255, 255, 0) And _
.Cells(i, 1).Interior.ColorIndex = xlNone Then
.Rows(i).Copy "I have to give destination
j = j + 1
End If
End With
Next i
End Sub

उत्तर:

उत्तर № 1 के लिए 1

शीट 1 से INSERT तक एक पंक्ति में शीट 2 में एक पंक्ति की प्रतिलिपि बनाने के लिए मुख्य निर्देश दिए गए हैं। यह मानता है कि आपके पास सभी पंक्ति संख्याएं हैं।

" -- to copy a row in sh1 to INSERT into sh2:
sh2.Rows(irowInefficiency + 1).Insert
sh1.Rows(irowFrom).Copy sh2.Rows(irowInefficiency + 1)
" -- you have to increment all header rows after this one
irowEffective = irowEffective + 1

निम्नलिखित इन संदर्भों में डालता है:

Sub sub1() " copy/insert a row
Dim irowFrom&, irowInefficiency&, irowEffective&
Dim sh1, sh2 As Worksheet
Set sh1 = Sheets("sheet1")
Set sh2 = Sheets("sheet2")
irowInefficiency = 3 " where that header is
irowEffective = 6 " where that header is
irowFrom = 5 " the row to copy
" -- to copy a row in sh1 to INSERT into sh2:
sh2.Rows(irowInefficiency + 1).Insert " a blank row
sh1.Rows(irowFrom).Copy sh2.Rows(irowInefficiency + 1) " then copy
" -- you have to increment all header rows after this one
irowEffective = irowEffective + 1 " because it increases
End Sub

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