Bul ve yazdır

Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
İyi çalışmalar, kolay gelsin. Bir userform ayarlasam bu userformda arama yeri olsa ve yazdır butonu eklesem bu konuda gerekli kodlamayı yapabilecek bilgili abilerimiz yardımcı olabilir mi? Ancak şöyle ki uygulamak istediğim excel sayfası çok fazla 100 sayfa ve üzeri olabilecek şekilde. Yazdır butonunun kodlaması elimde var ancak ana sayfada olacak olan bu userform bul komutu ile o sayfaya direk geçiş yapsa ve ben o şekilde yazdırabilsem mümkün müdür? Örnek excelimin bilgileri (devlet kurumu olduğu için) gizli sayıldığı için paylaşamıyorum. Yardımcı olursanız çok sevinirim. Teşekkürler.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Öncelikle siz bir iki adım atın ondan sonrası gelir inşallah.
Siz daha yerinizden kalkmaya erinerek şunu yapsam bunu yapsam diyerek gideceğiniz yere ulaşamazsınız.
Dediğiniz gibi formunuzu hazırlayıp dosyanızı ekleyin. Yardımcı olmaya çalışırız.
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Öncelikle siz bir iki adım atın ondan sonrası gelir inşallah.
Siz daha yerinizden kalkmaya erinerek şunu yapsam bunu yapsam diyerek gideceğiniz yere ulaşamazsınız.
Dediğiniz gibi formunuzu hazırlayıp dosyanızı ekleyin. Yardımcı olmaya çalışırız.
Sayın askm, yanlış anlaşıldığımı veya yanlış anladığınızı düşünüyorum. Erinme konusu değil veya armut piş ağzıma düş gibi düşüncem hiç yok. Ekte sunacağım userform eklemek olacak belki buna benzer elinde güzel örneği olan vardır diye eklemedim onu. Bu konuda da bir bilen birinin daha önceden paylaşmış olduğu userform üzerinden gitmeye çalıştım ancak yapamadım. Yine de dediğiniz gibi yapıp userform oluşturarak yardım istiyorum.. Teşekkürler.
 

Ekli dosyalar

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Asıl ben yanlış anlaşıldı isem özür dilerim. Erindiğinizi belirtmedim. Kafanızda bir çalışma olduğu belli. Bu çalışmanızı başlayın örnek çalışma olmadan yardımcı olunmaz. Bunu belirttim. Siz çalışmanızı ekledikten sonra birileri yardımcı olmaya çalışacaktır. Kim müsait olur ve bilgisi yeterli olursa yardıcmı olur tabiki.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Çalışmanızı indirdim. Bakıyorum.
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Asıl ben yanlış anlaşıldı isem özür dilerim. Erindiğinizi belirtmedim. Kafanızda bir çalışma olduğu belli. Bu çalışmanızı başlayın örnek çalışma olmadan yardımcı olunmaz. Bunu belirttim. Siz çalışmanızı ekledikten sonra birileri yardımcı olmaya çalışacaktır. Kim müsait olur ve bilgisi yeterli olursa yardıcmı olur tabiki.
Estağfurullah, sanırım benim cümlelerim meyil vermiş. Çalışmam var elimde ve bir süredir uğraşıyorum. Ancak gizli kalması gerektiği için paylaşamıyorum. Yardımcı olabilecek birileri veya Siz yardımcı olabilirseniz çok sevinirim. Bir noktayı da belirtmeyi unutmuşum. Yazdır butonuna eklediğim kodlar maalesef işe yaramayacak çünkü bu kod seçili alanı yazdırıyor. Ancak userform açıkken hücreleri seçemiyorum. Yapılması mümkün ise bulma işlemini yaptıktan sonra açılacak sayfayı hücrelerin başından sonuna kadar kendisi seçip yazdırabiliyor mu?
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Bul komutuna aşağıdaki kodları yazınız...
Kod:
Private Sub CommandButton1_Click()
Dim BUL
aranan = TextBox1.Text
For i = 1 To Worksheets.Count
    Set BUL = Sheets(i).Cells.Find(aranan, , xlValues, xlPart)
    If Not BUL Is Nothing Then
        Sheets(i).Select
        Call kod
        MsgBox "Yazdırma işlemi tamam...", vbInformation, "ASKM"
        Exit For
    End If
Next i
End Sub
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
............
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Bul komutuna aşağıdaki kodları yazınız...
Kod:
Private Sub CommandButton1_Click()
Dim BUL
aranan = TextBox1.Text
For i = 1 To Worksheets.Count
    Set BUL = Sheets(i).Cells.Find(aranan, , xlValues, xlPart)
    If Not BUL Is Nothing Then
        Sheets(i).Select
        Call kod
        MsgBox "Yazdırma işlemi tamam...", vbInformation, "ASKM"
        Exit For
    End If
Next i
End Sub
Sayın Askm, yardımınız ve ayırdığınız vakit için gerçekten teşekkür ediyorum. Verdiğiniz kodu bul kısmına yapıştırdığım zaman direk yeri buluyor direk yazdırma işlemine geçiş yapıyor. Yazdırma dediğim zaman hata veriyor. Yazdır dediğim zaman tek bir hücre seçtiniz tamam diyorsanız yazdırın diyor. Ona da tamam dediğimde baskı önizleme istiyor musunuz diyor (Bu kısımlar sanırım benim bir yazdır butonuna eklediğim kodlardan dolayı). Ancak yazdırma işlemini yine de yapmıyor ve o kelimeden başka sayfalarda olsa bile onları bulmuyor. Benim yazdır butonuna eklediğim kodu silince Sizin kodu Bul kısmına yapıştırdığım zamanda hata veriyor.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Exit for kısmını silerek diğer sayfalarda bulmasını sağlayabilirsiniz.
Yazdır komutunuz çalışıyor dediğiniz için bakmadım. Şimdi baktığımda.
Kod:
Sub kod()
    msj = InputBox("Hücre Aralığı : " & Chr(10) & Selection.Address, "Yazdırmak İstiyor Musun ?", "1") 
'Hücre aralığı seçtiriyorsunuz. Örneğin A1:E20
    If msj = "" Then Exit Sub
    'Eğer seçili değilse yazdırma işlemi iptal oluyor.
    ActiveSheet.PageSetup.PrintArea = msj 'Selection.Address
    'Aktif sayfada seçilen salanı yazdırma alanı olarak belirliyorsunuz. Sizinkinde direkt seçili alanı yazdırma alanı belirliyordu.
    msj2 = MsgBox("Baskı Önizlemek İster Misiniz ?", vbYesNo)
'Baskı önizleme soruyorsunuz. Bence gerek yok.
    If msj2 = vbYes Then
        ActiveSheet.PrintPreview
    Else
 'Baskı önizleme istememişseniz. Büyütme özelliğini kapatıyorsunuz. Kopya sayısını da ilk mesajda seçtiğiniz alandan alıyorsunuz. Burada hata verir. Kopya sayısı için de soru sormanız gerekir ya da 1 veya 2 sabit tutmanız gerekir.
        ActiveSheet.PageSetup.Zoom = False
        ActiveSheet.PrintOut copies:=msj
    End If
    
End Sub
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Exit for kısmını silerek diğer sayfalarda bulmasını sağlayabilirsiniz.
Yazdır komutunuz çalışıyor dediğiniz için bakmadım. Şimdi baktığımda.
Kod:
Sub kod()
    msj = InputBox("Hücre Aralığı : " & Chr(10) & Selection.Address, "Yazdırmak İstiyor Musun ?", "1") 
'Hücre aralığı seçtiriyorsunuz. Örneğin A1:E20
    If msj = "" Then Exit Sub
    'Eğer seçili değilse yazdırma işlemi iptal oluyor.
    ActiveSheet.PageSetup.PrintArea = msj 'Selection.Address
    'Aktif sayfada seçilen salanı yazdırma alanı olarak belirliyorsunuz. Sizinkinde direkt seçili alanı yazdırma alanı belirliyordu.
    msj2 = MsgBox("Baskı Önizlemek İster Misiniz ?", vbYesNo)
'Baskı önizleme soruyorsunuz. Bence gerek yok.
    If msj2 = vbYes Then
        ActiveSheet.PrintPreview
    Else
 'Baskı önizleme istememişseniz. Büyütme özelliğini kapatıyorsunuz. Kopya sayısını da ilk mesajda seçtiğiniz alandan alıyorsunuz. Burada hata verir. Kopya sayısı için de soru sormanız gerekir ya da 1 veya 2 sabit tutmanız gerekir.
        ActiveSheet.PageSetup.Zoom = False
        ActiveSheet.PrintOut copies:=msj
    End If
    
End Sub
Yazdır butonundaki hatadan çok bul komutundakini çözemedim. Yazdır butonunu tamamen siliyorum bul butonuna vermiş olduğunuz kodu yazdığımda "Call kod" kısmını işaretleyip "Private Sub CommandButton1_Click()" kısmını sarıya boyuyor. Nedeni nedir acaba.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Yazdır komutunu silerseniz benim eklediğim kodlardaki Call kod satırını silmeniz gerekir. Burada sizin kodlarınızı çalıştırıyor.
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Yazdır komutunu silerseniz benim eklediğim kodlardaki Call kod satırını silmeniz gerekir. Burada sizin kodlarınızı çalıştırıyor.
Private Sub CommandButton1_Click()
Dim BUL
aranan = TextBox1.Text
For i = 1 To Worksheets.Count
Set BUL = Sheets(i).Cells.Find(aranan, , xlValues, xlPart)
If Not BUL Is Nothing Then
Sheets(i).Select
End If
Next i
End Sub

bu şekilde yaptığımda dediğiniz kısmı yanlış anlayıp yanlış yeri silmediysem Sayın Askm, bunda deneme amaçlı 1. ve 2. sayfaya yazdığım Ali kelimesini buluyor ancak 1. sayfayı çok hızlı şekilde açıp direk 2. sayfadakini gösteriyor. Yani 1. sayfadaki direk göstermiyor.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Select den sonra sizin istediğiniz işlemi yazmanız gerekli. Yoksa makro hızlıca geçer.
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Oraya hangi sayfalarda aratacağım kelime varsa sırasıyla göstermesi için nasıl bir kod yazmam gerekli Sayın Askm.
 

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Örneğin 4 ve 20. sayfalarda aradığınız kelime var. Kod öncelikle 1. sayfadan başlıyor. Sayfa içinde aradığınız kelime varsa buluyor, o sayfayı aktif ediyor. Sonra 2 sayfaya geçiyor. Yoksada bulmadan direkt 2. sayfaya geçiyor ve o sayfada arıyor.
Kodlar hızlı çalıştığı için 4. sayfayı açıyor sonra 20. sayfayı açıyor. Ama bunu çok hızlı yapıyor. Siz buraya yazdırma kodlarını ilave etmeniz gerekir.
 
Katılım
29 Aralık 2017
Mesajlar
50
Excel Vers. ve Dili
Excel başlangıç
Altın Üyelik Bitiş Tarihi
29/12/2022
Örneğin 4 ve 20. sayfalarda aradığınız kelime var. Kod öncelikle 1. sayfadan başlıyor. Sayfa içinde aradığınız kelime varsa buluyor, o sayfayı aktif ediyor. Sonra 2 sayfaya geçiyor. Yoksada bulmadan direkt 2. sayfaya geçiyor ve o sayfada arıyor.
Kodlar hızlı çalıştığı için 4. sayfayı açıyor sonra 20. sayfayı açıyor. Ama bunu çok hızlı yapıyor. Siz buraya yazdırma kodlarını ilave etmeniz gerekir.
Yazdırma komutu aradığım kelimeyi ilk bulduğum sayfada mı yapacak peki veya ben ilk sayfadaki değil de diğer sayfada bulacağım bölümü yazdırmak istersem nasıl olacak :) sadece bul komutunu yapabilecek yok mudur acaba?
 
Üst