- Katılım
- 8 Mart 2009
- Mesajlar
- 504
- Excel Vers. ve Dili
- 2010
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
sayfa 1 deki verileri Sayfa2 ye b sütunundaki veriye göre bulunduğu satırın tamamını almasını istiyorum.
Option Explicit
Sub veri_aktar()
Dim a As Long, asi As String
asi = MsgBox("Verileri Aktarayım Mı_?", vbYesNo, "Onay")
If asi = vbNo Then Exit Sub
Range("A2:A65536,C2:F65536").ClearContents
For a = 2 To Cells(65536, "B").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("Sayfa1").Range("B2:B65536"), Range("B" & a)) > 0 Then
Cells(a, "A") = WorksheetFunction.Index(Sheets("Sayfa1").Range("A2:F65536"), WorksheetFunction.Match( _
Range("B" & a).Value, Sheets("Sayfa1").Range("B2:B65536"), 0), 1)
Cells(a, "C") = WorksheetFunction.Index(Sheets("Sayfa1").Range("A2:F65536"), WorksheetFunction.Match( _
Range("B" & a).Value, Sheets("Sayfa1").Range("B2:B65536"), 0), 3)
Cells(a, "D") = WorksheetFunction.Index(Sheets("Sayfa1").Range("A2:F65536"), WorksheetFunction.Match( _
Range("B" & a).Value, Sheets("Sayfa1").Range("B2:B65536"), 0), 4)
Cells(a, "E") = WorksheetFunction.Index(Sheets("Sayfa1").Range("A2:F65536"), WorksheetFunction.Match( _
Range("B" & a).Value, Sheets("Sayfa1").Range("B2:B65536"), 0), 5)
Cells(a, "F") = WorksheetFunction.Index(Sheets("Sayfa1").Range("A2:F65536"), WorksheetFunction.Match( _
Range("B" & a).Value, Sheets("Sayfa1").Range("B2:B65536"), 0), 6)
End If
Next
MsgBox "Veriler Aktarıldı", vbInformation, "Bitiş"
End Sub
Teşekkürler, otomatik olması için nasıl bir ekleme yapmamız gerekli Sayfa2 de (B) sütununa numarayı yazıp Enter bastığımda ilgili satır Sayfa1 den kopmle gelsin ve Sayfa1 deki verilerde silinmesin.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2:B65536")) Is Nothing Then Exit Sub
Call veri_aktar
End Sub
İhsan bey, Kusura bakmayın dosya ekte;
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("I2:I65536")) Is Nothing Then Exit Sub
Dim ts, kaplan
kaplan = MsgBox("Veri Karşılıklarını Aktarayım Mı_?", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
Range("A2:H65536,J2:K65536").ClearContents
For ts = 2 To Cells(65536, "I").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("VERİ").Range("I2:I65536"), _
Range("I" & ts).Value) > 0 Then
Cells(ts, "A") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 1)
Cells(ts, "B") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 2)
Cells(ts, "C") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 3)
Cells(ts, "D") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 4)
Cells(ts, "E") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 5)
Cells(ts, "F") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 6)
Cells(ts, "G") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 7)
Cells(ts, "H") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 8)
Cells(ts, "J") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 10)
Cells(ts, "K") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 11)
End If
Next
MsgBox "Karşılıkları Çıkarttım", vbInformation, "Bitiş"
End Sub
İhsan bey, vermiş olduğunuz makroyu bir düğme vasıtası ile çalıştırmak için nasıl bir düzenleme yapmam gerekli.
Option Explicit
Sub karşılık()
Dim ts, kaplan
kaplan = MsgBox("Veri Karşılıklarını Aktarayım Mı_?", vbYesNo, "Onay")
If kaplan = vbNo Then Exit Sub
Range("A2:H65536,J2:K65536").ClearContents
For ts = 2 To Cells(65536, "I").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("VERİ").Range("I2:I65536"), _
Range("I" & ts).Value) > 0 Then
Cells(ts, "A") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 1)
Cells(ts, "B") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 2)
Cells(ts, "C") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 3)
Cells(ts, "D") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 4)
Cells(ts, "E") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 5)
Cells(ts, "F") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 6)
Cells(ts, "G") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 7)
Cells(ts, "H") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 8)
Cells(ts, "J") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 10)
Cells(ts, "K") = WorksheetFunction.Index(Sheets("VERİ").Range("A2:K65536"), _
WorksheetFunction.Match(Range("I" & ts).Value, Sheets("VERİ").Range("I2:I65536"), 0), 11)
End If
Next
MsgBox "Karşılıkları Çıkarttım", vbInformation, "Bitiş"
End Sub
Teşekkürler ellerinize sağlık, kolay gelsin.