2016-04-13 25 views
0

"Sheet1" içindeki satış görevlileri (sütun A) ve istemciler (B ve C sütunları) listesinden geçmeye çalışıyorum.Kopyala-yapıştırmak amacıyla başka bir sayfadaki bir sütuna eşleştirmek için bir sütundaki (başka birine göre) belirli değerleri nasıl seçerim?

"Sheet1" sütununun A kısmından geçmek ve satış görevlisine dayanarak, B & C sütunlarına (bu satış elemanının aralığı içinde) bakın ve "Sheet2" de A sütununda karşılaştırın. "Sayfa1" bölümündeki B veya C sütunlarındaki değerler "Sayfa2" sütununda A değeriyle eşleşiyorsa, bu satırı kopyalamak ve yeni bir "Sayfa3" e yapıştırmak istiyorum.

Ben döngüler ile & conditionals çalışıyoruz, kopyalama ve yapıştırma Başka bir sayfadan durumuna göre, ancak "Sayfa1'deki" dan A sütunundaki dayalı, sütunlar B & C belirterek arasındaki bağlantı ile mücadele ediyorum nasıl anladım, ve sonra bunları "Sheet2" nin A sütununa eşleştirin.

Ben çarşafa şey bulmak ve kopyalayıp başka bir sayfaya yapıştırmak ama yapmak istediğim şeyin sadece küçük bir parçası olabilir:

Sub CopyCode() 

Dim r As Long, endrow As Long, pasterowindex As Long 

endrow = Worksheets("sheet2").Range("A" & Rows.Count).End(xlUp).Row 
    pasterowindex = 1 

For r = 1 To endrow 'Loop through sheet1 and search for your criteria 

    'Central CODE: 
    If Worksheets("sheet2").Cells(r, Columns("A").Column).Value = "CLIENT" Then 
     'get all value(s) in range of column d (and c eventually) 
     ' and see if they match values in column A of Readership paste 
     'if they do match values in column A of readership paste, 
     ' then copy that matched row into a new sheet 
     ' (will be designated by salesperson) 

     'Copy the current row 
     Rows(r).Select 
     Selection.Copy 

     'Switch to the sheet where you want to paste it & paste 
     Sheets("Sheet3").Select 
     Rows(pasterowindex).Select 
     ActiveSheet.Paste 

     'Next time you find a match, it will be pasted in a new row 
     pasterowindex = pasterowindex + 1 

     'Switch back to your table & continue to search for your criteria 
     Sheets("sheet2").Select 
    End If 

Next r 

End Sub 
+0

Hangi kodu kullandığınızı gösterin ve size ihtiyacınız olan göstergeleri vermemize yardımcı olacaktır. Kodu orijinal gönderilerinize koyun yorumlar veya cevap olarak değil. –

+0

Kopyalamak istediğiniz satır, sayfa 1 veya tabaka 2'de sayfa 3'e mi geliyor? – hoodaticus

+0

Kopyala/yapıştır istediğiniz satır, sayfa 2'de. Üçüncü bir sayfaya yapıştırmak istiyorum. – Wick

cevap

0
for i = FirstRowA to LastRowA 'leaving you to figure out how to find these values 
    If cell(i) <> vbNullString Then 
      for h = FirstRowB to LastRowB 'again for you to figure out 
       If cell(h) = cell(i) Then 
        cell(h).copy 
        Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 
        Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Offset(0, 1).value = "Column b" 
       End If 
      Next h 

      for j = FirstRowC to LastRowC 'again you figure this out 
       If cell(j) = cell(i) Then 
        cell(j).copy 
        Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues 
        Sheet2.Cells(Sheet2.Rows.Count, 1).End(xlUp).Offset(0, 1).value = "column c" 
       end if 
      Next j 
     end if 
next i 

olabileceğini bazı sözdizimi sorunlarını burada ama temel olarak size istediğin döngüyü verdim. Bu sadece, rahatlığı kendi başınıza kolaylıkla bulabileceğiniz noktaya getiriyor.

+0

Çok teşekkür ederim, bu oldukça kapsamlı. Belki sadece burada ne gibi bir şey ifade eder? Bunu "satış sorumlusu" na (orijinal sorumu referans alarak) yorumluyor muydum? – Wick

+0

vbNullString, VBA'nın NULL olarak tanıdığı yerleşik işlev/anahtar sözcüktür. Boşluklara başvurmak için "" ifadesinin tersine, vbNullString kullanmak daha etkilidir. Sadece boş olduğunda, her zaman onu kullanmak için bir alışkanlık haline getiriyorum. Temel olarak, eğer (i) hücre, döngüdeki geçerli hücre boş değilse, o zaman kodu –

+0

@Wick yürütür diyor? Bu soruya cevap veriyor mu? Eğer öyleyse lütfen bir cevap yazınız veya daha fazlasını isteyiniz :) –

İlgili konular