• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Excel 2 farklı sheet den veri çekme

  • Konbuyu başlatan Konbuyu başlatan dmyksl
  • Başlangıç tarihi Başlangıç tarihi
Katılım
20 Aralık 2005
Mesajlar
46
Arkadaşlar Excelde 1 anasayfam var 2 tane de sayfa1 ve sayfa2 şeklinde sheet var
amacım 40 kişilik bir liste oluşturmak ve veriyi 1 sayfa1 den 1 de sayfa 2 den olacak şekilde 20 20 almak ... desteklerinizi bekliyorum...
 
. . .

Örnek dosya yüklerseniz hangi hücreden hangi veri alınacak kısmı daha anlaşılır olur.

. . .
 
Örneğin sayfa3 deki liste daha az
Sayfa3 de aktarılacak bitince kalan için sayfa2 den mi devam edecek

.
 
Sayfa2 ve sayfa3 satır sayısı her zaman eşit mi.

.
 
. . .

Dosyanız ektedir.

Kod:
Sub kod()
Application.ScreenUpdating = False
Dim S1 As Worksheet: Set S1 = Sheets("Sayfa1")
Dim S2 As Worksheet: Set S2 = Sheets("Sayfa2")
Dim S3 As Worksheet: Set S3 = Sheets("Sayfa3")

iki = S2.Cells(Rows.Count, "B").End(3).Row
uc = S3.Cells(Rows.Count, "B").End(3).Row

If iki < uc Then
mesaj = "Sayfa2 " & iki & ". satıra kadar işlem tamamlanmıştır."
Else
mesaj = "Sayfa3 " & uc & ". satıra kadar işlem tamamlanmıştır."
End If

son = WorksheetFunction.Min(iki, uc)
sat = 2

S1.Range("B2:C" & Rows.Count).ClearContents

For i = 2 To son Step 1
S1.Cells(sat, "B") = S2.Cells(i, "B")
S1.Cells(sat, "C") = S2.Cells(i, "C")

S1.Cells(sat + 1, "B") = S3.Cells(i, "B")
S1.Cells(sat + 1, "C") = S3.Cells(i, "C")

sat = sat + 2
Next i

Application.ScreenUpdating = True
MsgBox mesaj
End Sub

. . .
 

Ekli dosyalar

. . .

Dosyanız ektedir.

Kod:
Sub kod()
Application.ScreenUpdating = False
Dim S1 As Worksheet: Set S1 = Sheets("Sayfa1")
Dim S2 As Worksheet: Set S2 = Sheets("Sayfa2")
Dim S3 As Worksheet: Set S3 = Sheets("Sayfa3")

iki = S2.Cells(Rows.Count, "B").End(3).Row
uc = S3.Cells(Rows.Count, "B").End(3).Row

If iki < uc Then
mesaj = "Sayfa2 " & iki & ". satıra kadar işlem tamamlanmıştır."
Else
mesaj = "Sayfa3 " & uc & ". satıra kadar işlem tamamlanmıştır."
End If

son = WorksheetFunction.Min(iki, uc)
sat = 2

S1.Range("B2:C" & Rows.Count).ClearContents

For i = 2 To son Step 1
S1.Cells(sat, "B") = S2.Cells(i, "B")
S1.Cells(sat, "C") = S2.Cells(i, "C")

S1.Cells(sat + 1, "B") = S3.Cells(i, "B")
S1.Cells(sat + 1, "C") = S3.Cells(i, "C")

sat = sat + 2
Next i

Application.ScreenUpdating = True
MsgBox mesaj
End Sub

. . .

hocam teşekkür ederim dediğim oldu. birde şunu yapabilirmiyiz hocam... bu şekilde ana listem 1080 kişi oldu bunu her sayfada 40 kişi olacak şekilde 27 farklı sayfaya aynı anda atabilirmiyiz.(sayfa 1 1-40 sayfa2 41-80) tşk
 
. . .

Yeni açılan sayfalarda sıra numarası 1-40 arasında mı olacak yoksa
41-42 diye devam mı edecek.

. . .
 
Geri
Üst