Başka bir sayfada veri bulmak

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
İyi pazarlar herkese.
Sayfa1 in herhangi bir hücresindeki veriyi (hücre adresi değişken) Sayfa2 nin bir kısmında Örn.a1:f25 arasında bulup hücreleri seçili hale getirmek istiyorum. Hücre adresinin değişken olması sorun yaratırsa sabit bir hücre de Örn:A1 olabilir.Yardımlarınız için şimdiden teşekkür ederim.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba Sn vatandaş

Ek dosyayı inceleyiniz...
İsteğinize uygunmu?

Kod:
Dim hcr As Range, i As String
i = InputBox("Aranacak veriyi girin", "BUL")
For Each hcr In Range("A1:F25")
If hcr.Value = i Then hcr.Interior.ColorIndex = 6
Next
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Sayın Ercan,
Ben bu kodları kendi kodlarımın arasına yerleştirip aynı makro içinde bir kaç komut vermek istiyorum. Bu sebeple inputbox işime yaramıyor. Aradığımız verinin a1 hücresinde olduğunu düşünerek yardımlarınızı rica etsem...Bir de, verilerin bulunduğu alan değilde sadece verilerin bulunduğu hücrelerin seçilmesi gerekiyor..Eğer mümkünse...İlginize teşekkür ederim..
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,269
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Kod:
Sub Search()
Dim f As Range, i&, r$, ilk$, arr()

Sayfa2.Activate

Set f = Sayfa2.[a1:f25].Find(Sayfa1.[a1].Value)

If f Is Nothing Then Exit Sub

ilk = f.Address

Do
    i = i + 1
    ReDim Preserve arr(i - 1)
    arr(i - 1) = f.Address(0, 0)
    Set f = Sayfa2.[a1:f25].FindNext(f)
Loop While f.Address <> ilk And Not f Is Nothing


r = Join(arr, ",")

Sayfa2.Range(r).Select

Erase arr

Set f = Nothing
End Sub
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Merhaba Sayın Gürsoy,
Gönderdiğniz kodları kendi çalışmama uyarlamaya çalıştım ancak kırmızı renkli satırda hata veriyor.
Boş bir çalışma kitabında uyguladım sorunsuz çalışıyor. Fakat anlayamadığım aranacak sayfa ismini (kodları değiştirmeden) değiştirmeme rağmen yine aranan verileri bularak seçiyor. Örneğin koddaki Sayfa2 yi değiştirmeden çalışma kitabındaki sayfa adını ali yapmama rağmen çalışıyor ancak benim çalışamamda aşağıdaki hatayı veriyor. Benim çalışmamda aranacak sayfa adı temmuz hücre aralığı ise D3:K33. buna göre bir düzenleme masıl yapabiliriz. Çalışmam biraz büyük olduğu için göndermek istemedim..

Sub Search()
Dim f As Range, i&, r$, ilk$, arr()

Sheets("temmuz").Activate

Set f = Sheets("temmuz").[d3:k33].Find(Sayfa1.[a1].Value)

If f Is Nothing Then Exit Sub

ilk = f.Address

Do
i = i + 1
ReDim Preserve arr(i - 1)
arr(i - 1) = f.Address(0, 0)
Set f = Sheets("temmuz").[d3:k33].FindNext(f)
Loop While f.Address <> ilk And Not f Is Nothing


r = Join(arr, ",")

Sheets("temmuz").Range(r).Select

Erase arr

Set f = Nothing
End Sub
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,269
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
d3:k33 aral&#305;&#287;&#305;nda bulunan h&#252;creler &#231;ok fazlaysa sorun &#231;&#305;kabiliyor.

&#199;oklu se&#231;imlerde s&#305;n&#305;r&#305;n ne oldu&#287;unu ben de bilmiyorum.
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Say&#305;n G&#252;rsoy , ilginize &#231;ok te&#351;ekk&#252;r ederim ama ekli dosyadaki durumu a&#231;&#305;klayabilir misiniz acaba? Kodlarda Sayfa2 adres olarak g&#246;sterilmi&#351; ancak &#231;al&#305;&#351;ma kitab&#305;nda sayfa2 yok.Ama yinede kodlar &#231;al&#305;&#351;&#305;yor? &#220;stelik burda da kodlar&#305; d3;k33 olarak de&#287;i&#351;tirdim.. Benim bir &#246;nceki mesajda g&#246;nderdi&#287;im kodlarda benim g&#246;remedi&#287;im bir hata m&#305; var ?
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,269
Excel Vers. ve Dili
Office 2019 (64 bit) - Türkçe
Hata yoktur. Sayfa isimlerinde "Name" ve "Caption" fark&#305;ndan geliyor. Sayfa2 = Ali olmas&#305;.

Aranan kriter &#231;ok fazla d&#246;n&#252;yorsa ve amac&#305;n&#305;z i&#231;eri&#287;ini silmekse, hata olu&#351;mamas&#305; i&#231;in bunu d&#246;ng&#252; i&#231;inde s&#305;rayla yapt&#305;rabiliriz.

Kod:
Sub Test()
Dim f As Range, ilk$

Set f = Sheets("ali").[d3:k33].Find(Sheets("Sayfa1").[a1])

If f Is Nothing Then Exit Sub

ilk = f.Address

Do
    f.ClearContents
    Set f = Sheets("ali").[d3:k33].FindNext(f)
Loop While f.Address <> ilk And Not f Is Nothing

Set f = Nothing
End Sub
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Tekrar merhaba Say&#305;n G&#252;rsoy,
A&#351;a&#287;&#305;daki sat&#305;rda hata veriyor...
Loop While f.Address <> ilk And Not f Is Nothing
Asl&#305;nda ilk yazd&#305;&#287;&#305;n&#305;z kodlar bo&#351; bir &#231;al&#305;&#351;ma kitab&#305;nda d3:k33 aral&#305;&#287;&#305;nda &#231;al&#305;&#351;&#305;yor ve sonuna ekledi&#287;im "Selection ClearContents" komutu ile se&#231;ilen h&#252;creleri siliyorda..Fakat kendi &#231;al&#305;&#351;mamdaki sayfa isimlerini yazd&#305;&#287;&#305;m zaman 5 nolu cevapta k&#305;rm&#305;z&#305; renkli sat&#305;rda hata vermesini anlayamad&#305;m.
 
Son düzenleme:
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Say&#305;n Zeki G&#252;rsoy,
5 nolu msajda hata verdi&#287;ini s&#246;yledi&#287;im kodlar bo&#351; bir &#231;al&#305;&#351;ma kitab&#305;nda sorunsuz &#231;al&#305;&#351;&#305;yor. San&#305;r&#305;m benim &#231;al&#305;&#351;mamda kulland&#305;&#287;&#305;m &#231;ok say&#305;daki makro bir yerde engel oluyor. Sizi de gereksiz yere me&#351;gul etmeyim. E&#287;er hatay&#305; bulamazsam &#231;al&#305;&#351;ma kitab&#305;n&#305; t&#252;m&#252;yle g&#246;nderirim.. iyi &#231;al&#305;&#351;malar. ilginize de te&#351;ekk&#252;rler.
 
Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Say&#305;n G&#252;rsoy ,
A&#351;a&#287;&#305;daki hata kodu nerden kaynakland&#305;&#287;&#305; konusunda bir ipucu verebilir mi acaba: "Application-defined or object defined error"
 
Üst