Soru Seçime Göre Başka Sayfadan Veri Al

Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
İyi akşamlar;
Ekli örnek dosyada C4:C122 hücre aralığına Poz Nolarımı girip veri al butonu ile veri alınacak dosyayı seçtiğimde veri alınacak sayfanın B süunundaki poz numarası yazılı satırdaki bilgileri örnek dosyadaki gibi BİRİMFİYATGİRİŞİ sayfasında denk gelen satırlara makro ile aldırmak mümkün mü. Yardımcı olursanız sevinirim
Sıra No- A sütunu
İşin Çeşidi C sütünu
Birimi D Sütunu
Birim Fiyatı E sütunu
İhaleli Birim Fiyatı F sütünü

 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Hocam teşekkür ederim. Doğru anlamışsınız. Şöyle bir şey olabilir mi?
1- Dosya aynı klasör içerisinde değil. Aynı butonla Ben dosyayı sececeğim. Dosyayı seçtikten sonra veriler gelecek.
2-Seçilen dosyanın sayfa adı değişebiliyor. Ama sutunların yerleri aynı
3-Birde A sütündaki sıra numarasınıda aynı şekilde çekebilir mi?
4-Örneğin sadece c25 hücresine poz no yazıp veri al butonuna bastığımda c25 hücresine kadar farklı veriler geliyor Ben hangi satıra poz no yazarsam o satıra veri gelmesi gerekiyor.Diğer satırlar boş olmalı
Bu şarlarda yine veriyi çekebilir mi?
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar
Dosyayı seçerek veri alınıyor. Ama bu konuda benim bilgim yeterli değil.
O yüzden Uzman arkadaşlarımız sanırım yardımcı olabilirler.
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Dosyayı farklı klasörden seçme yapılabilir mi?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Tabi ki yapılabilir
 
Son düzenleme:

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Bir şeyler yapmaya çalıştım
Kodlar Bana ait değil. Sizin dosyanıza uyarlamaya çalıştım
Umarım işinize yarar

İndir
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Hocam öncelikle ilginiz için çok teşekkür ederim. Şöyle bir skıntı var.

1-Örneğin 5 satır atlayıp poz no yazdığımda yine almıyor.
2- veri alancak sayfada A sütununda hangi sıra numarası o sıra numarasınıda B sütununa alabilir mi?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Selamlar

Kodlar bana ait değil ben uyarlamaya çalıştım. Umarım uzman arkadaşlar yardımcı olurlar
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
dosyada sıkıntı yok sadece istediğim poz nosunu almıyor. Düzelirse işimi görecek
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
İlk dosyada istediğim poz noyu çekiyor. Buna dosya yolu nu ekleyebilir misiniz. Birde boş olan yerlere 94 yazzıyor. Buda düzelirse işmi görecek ?
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
dosyada sıkıntı yok sadece istediğim poz nosunu almıyor. Düzelirse işimi görecek
İstediğiniz yere Poz No yazarsanız çekmez. Kodlarda ki Eğer kısmında boş değilse olduğu için çekmiyor.Çünkü sırayla çekiyor
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
İlk dosyada istediğim poz noyu çekiyor. Buna dosya yolu nu ekleyebilir misiniz. Birde boş olan yerlere 94 yazzıyor. Buda düzelirse işmi görecek ?
For i döngüsünün altındaki satır
aşağıdaki ile değiştirip deneyiniz

Kod:
                  If hcr.Value = ws.Range("C" & i) And ws.Range("C" & i) <> "" Then
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Birim Fiyat cetvelinde yazılı Poz Noyu yazıyorum çekmiyor. Bu pozlardan bana lazım olanı örnek dosyada yazıyorum. Almıyor. Bir önceki yazmış olduğunuz kod çekiyordu. Bu koda Sadece dosya yolu eklense işimi görecek sanırım
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Birim Fiyat cetvelinde yazılı Poz Noyu yazıyorum çekmiyor. Bu pozlardan bana lazım olanı örnek dosyada yazıyorum. Almıyor. Bir önceki yazmış olduğunuz kod çekiyordu. Bu koda Sadece dosya yolu eklense işimi görecek sanırım
Dosya yolundan kastınız ne anlamadım
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Dosyaların ikisi de Aynı klasör içerisinde olamayacak.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
Klasör içinde olmasına gerek yok zaten siz veri alacağınız dosya neredeyse oradan seçeceksiniz
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,860
Excel Vers. ve Dili
Ofis2010 32Bit Türkçe
Altın Üyelik Bitiş Tarihi
19-02-2026
dosyada sıkıntı yok sadece istediğim poz nosunu almıyor. Düzelirse işimi görecek
Do döngüsünün hemen altına

aşağıdaki kodu yazın
Kod:
      If WsAna.Range("C" & sat).Value = "" Then sat = sat + 1
Diğer if ile başlayan yeri
aşağıdaki ile değiştirip deneyiniz

Kod:
        If ws.Cells(satir, "B").Value <> "" And ws.Cells(satir, "B").Value = WsAna.Range("C" & sat).Value And WsAna.Range("C" & sat).Value <> "" Then
 
Katılım
7 Şubat 2021
Mesajlar
448
Excel Vers. ve Dili
2010, Türkiye
Sayın hocam beceremedim galiba . Şu şekilde yaptım olmadı.
Kod:
Option Explicit

Sub VeriCek()
    Dim dosyaAdi As String: Dim sayfaAdi As String: Dim wb As Workbook
    Dim ws As Worksheet: Dim WsAna As Worksheet: Dim satir, sat, i As Long, sonSatir As Long
    
   Application.ScreenUpdating = False
    dosyaAdi = Application.GetOpenFilename("Excel Dosyası (*.xls;*.xlsx),*.xls;*.xlsx", Title:="Bir Excel Dosyası Seç")
    
    If dosyaAdi = "False" Then Exit Sub
    
  
    Set wb = Workbooks.Open(dosyaAdi)
    
  
    sayfaAdi = InputBox("Hangi sayfadan veri almak istersiniz?", "Sayfa Adı")
    
    On Error Resume Next
    Set ws = wb.Sheets(sayfaAdi)
    On Error GoTo 0
    
    If ws Is Nothing Then
        MsgBox "Girilen isimde bir sayfa bulunamadı!", vbExclamation
        wb.Close False
        Exit Sub
    End If
    
  
    Set WsAna = ThisWorkbook.Sheets("BİRİMFİYATGİRİŞİ")
    
                                       '==== Veri çekme işlemi ===='
     sat = 4
    satir = 73 ' Başlangıç satırı
    sonSatir = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
    
    Do While satir <= sonSatir
           If WsAna.Range("C" & sat).Value = "" Then sat = sat + 1
         If ws.Cells(satir, "B").Value <> "" And ws.Cells(satir, "B").Value = WsAna.Range("C" & sat).Value And WsAna.Range("C" & sat).Value <> "" Then
            WsAna.Cells(sat, "C").Offset(0, 1).Value = ws.Cells(satir, "C").Value
            WsAna.Cells(sat, "C").Offset(0, 2).Value = ws.Cells(satir, "D").Value
            WsAna.Cells(sat, "C").Offset(0, 3).Value = ws.Cells(satir, "E").Value
            WsAna.Cells(sat, "C").Offset(0, 4).Value = ws.Cells(satir, "F").Value
                  sat = sat + 1
        End If
        satir = satir + 1
    Loop
    wb.Close False
    Application.ScreenUpdating = True
    MsgBox "Veriler Seçilen Dosyanın" & Chr(10) & "Seçilen Sayfasından Alındı", vbInformation, Application.UserName
End Sub
 
Üst