• DİKKAT

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

yazdır komutu

  • Konbuyu başlatan Konbuyu başlatan can06
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Haziran 2007
Mesajlar
44
Excel Vers. ve Dili
2002
option button evet veya hayır seçilmesine göre yazıcıdan çıktı almak istiyorum örneğin option button1 evet se sayfa üçü yazdır hayır sa yazdırma
bide textbox küçük eşit 12 ise 4. sayfayı yazdır değilse yazdırma
yardımcı olursanız sevinirim
iyi çalışmalar
 
örnek çok güzel olmuş ama tam olarak istediğimi karşılamıyo birsürü option button arasında seçim yapmam gerekiyo bu örnekte option button u seçince yazıcı ya gönderiyo ben seçimleri yapacam daha sonra user formdaki yazdır komutuna tıklayınca yazdırmasını istiyorum
 
sayın can06

sorunuzda user form dan bahsetmemistiniz, ornek dosyayı gonderirseniz bu dosya uzerinde calisabiliriz
 
Userformun kod sayfasına aşağıdakileri kopyalayın.

Kod:
Private Sub CommandButton1_Click()
If IsNumeric(TextBox1) Then
    If OptionButton1.Value = True Then: Sheets("Sayfa2").PrintOut
    If OptionButton3.Value = True Then: Sheets("Sayfa3").PrintOut
    If OptionButton5.Value = True Then: Sheets("Sayfa4").PrintOut
    If TextBox1 > 12 Then: Sheets("Sayfa5").PrintOut
    Sheets("Sayfa6").PrintOut
Else
    MsgBox "Vadeyi kontrol edin", vbCritical, "UYARI"
End If
End Sub
 
çok teşekkürederim valla süper oldu inş sizler gibi olabiliriz
 
peki sayfa değilde mesela sayfadaki belli alanlar yazdırılacaksa formül nasıl değişir ben biliyorumda bilmeyenlerde öğrensin :)
 
O zaman; aşağıdaki gibi bir yapı olabilirdi.

Sadece Optionbutton1 ve Sayfa2 için örnekleme yapılmıştır. Diğerleri için de benzer mantık yürütülebilir. Dikkat ederseniz, ilk önce sayfadaki yazdırılacak alanı belirledik sonra da sayfayı yazdırdık.

Kod:
Private Sub CommandButton1_Click()
If IsNumeric(TextBox1) Then
[COLOR=red]    If OptionButton1.Value = True Then
        With Sheets("Sayfa2")
              .PageSetup.PrintArea = "$A$1:$C$10"
              .PrintOut
        End With
    End If
[/COLOR]    
    If OptionButton3.Value = True Then: Sheets("Sayfa3").PrintOut
    If OptionButton5.Value = True Then: Sheets("Sayfa4").PrintOut
    If TextBox1 > 12 Then: Sheets("Sayfa5").PrintOut
    Sheets("Sayfa6").PrintOut
Else
    MsgBox "Vadeyi kontrol edin", vbCritical, "UYARI"
End If
End Sub
 
bi örnek daha ekledim textbox lar boş olduğunda yazdırmıycak doldurulursa yazdırılacak nasıl yapabilirz
 
Şöyle olabilir.

Kod:
Private Sub CommandButton1_Click()
    If Trim(TextBox1.Text) <> Empty Then: Sheets("Sayfa2").PrintOut From:=1, To:=1
    If Trim(TextBox2.Text) <> Empty Then: Sheets("Sayfa2").PrintOut From:=2, To:=2
    If Trim(TextBox3.Text) <> Empty Then: Sheets("Sayfa2").PrintOut From:=3, To:=3
End Sub
 
abi nekar&#305;&#351;&#305;k i&#351;mi&#351; ya eniysi ben bu i&#351;i b&#305;rak&#305;y&#305;m bunlar&#305; kopyala yap&#305;&#351;t&#305;r yapm&#305;yonuz demi e&#287;er ezbere yaz&#305;yosan&#305;z ben bu i&#351;i b&#305;rakt&#305;m :)te&#351;ekk&#252;rler
 
Bu şekilde bir umutsuzluğa kapılmanıza gerek yok. Herkes anasının karnındayken öğrenmiyor bu işleri ... Zamanla aşinalık kazanacaksınız.

Bilgisayarlar, şimdilik bizim konuştuğumuz dili anlamıyorlar ne yazık ki ...

Bunun için; onlara, yapacakları işi, anlayacakları dilde anlatmak gerekiyor.

Şimdi yapmak istediğimiz şey kısmen neydi ?

"Eğer Textbox1 doluysa; o halde"Sayfa2" adlı sheet'in "1.Sayfası"nı yazdıracaksın." boşsa bir şey yazmayacaksın

Önünüzdeki makina, böyle yazdığımızda, yapacağı işi anlasaydı iyi olurdu ... Hatta tadından yenmezdi.... Ama, olmuyor ..

Siz, yukarıdaki cümleyi, VBA'yı kullanarak tercüme edeceksiniz.

(1) "Eğer Textbox1 doluysa, o halde,"'nin tercümesi şudur

If Trim(TextBox1.Text) <> Empty Then:

Biraz İngilizce bilginiz varsa, If=Eğer, Empty=Boş Then=O Halde/O zaman anlamına geldiklerini biliyorsunuzdur. Aslında, bilgisayar, neredeyse "İngilizce" anlıyor diyebiliriz.

(2) "Sayfa2" adlı sheet'in "1.Sayfası"nı yazdıracaksın."'ın tercümesi

Sheets("Sayfa2").PrintOut From:=1, To:=1

Cümledeki renklendirmeleri takip ederseniz, bu kısmını da çözebilirsiniz.

Sheet:Sayfa, Printout : Çıktı Almak, "From:=1 to:=1", "1'den 1'e kadar" demek...

Diğer sayfaları yazdırırken de aynı mantık ve dizge geçerli ...

Takıldığınız bir konu varsa, açıklayabilirim.
 
Sayfay&#305; Yazd&#305;r&#305;ken Yazd&#305;rmak &#304;stedi&#287;inden Eminmisin Diye Soru Sormay&#305; NAs&#305;l Yapar&#305;z
 
Merhaba,

A&#351;a&#287;&#305;daki gibi olabilir.

Kod:
Sub Yazdir()
EvetHay&#305;r = Application.InputBox("Sayfay&#305; Yazd&#305;rmak &#304;stiyor Musunuz? E/H", "Yazd&#305;rma Sorusu", "E")
If EvetHay&#305;r <> "E" Then Exit Sub
Sheets("Sayfa1").PrintPreview 'PrintOut
End Sub
 
anlatt&#305;&#287;&#305;n&#305;z mant&#305;kla basit geldi bide &#351;&#246;yle bi&#351;ey var ilk &#246;&#287;renilen &#351;eyler &#246;nce zor geliyo sonra kolayla&#351;&#305;yo biraz emek harcamak laz&#305;m sizin gibi olamasakta kendi i&#351;lerimizi yapabiliriz te&#351;ekk&#252;rler
 
Bu şekilde bir umutsuzluğa kapılmanıza gerek yok. Herkes anasının karnındayken öğrenmiyor bu işleri ... Zamanla aşinalık kazanacaksınız.

Bilgisayarlar, şimdilik bizim konuştuğumuz dili anlamıyorlar ne yazık ki ...

Bunun için; onlara, yapacakları işi, anlayacakları dilde anlatmak gerekiyor.

Şimdi yapmak istediğimiz şey kısmen neydi ?

"Eğer Textbox1 doluysa; o halde"Sayfa2" adlı sheet'in "1.Sayfası"nı yazdıracaksın." boşsa bir şey yazmayacaksın

Önünüzdeki makina, böyle yazdığımızda, yapacağı işi anlasaydı iyi olurdu ... Hatta tadından yenmezdi.... Ama, olmuyor ..

Siz, yukarıdaki cümleyi, VBA'yı kullanarak tercüme edeceksiniz.

(1) "Eğer Textbox1 doluysa, o halde,"'nin tercümesi şudur

If Trim(TextBox1.Text) <> Empty Then:

Biraz İngilizce bilginiz varsa, If=Eğer, Empty=Boş Then=O Halde/O zaman anlamına geldiklerini biliyorsunuzdur. Aslında, bilgisayar, neredeyse "İngilizce" anlıyor diyebiliriz.

(2) "Sayfa2" adlı sheet'in "1.Sayfası"nı yazdıracaksın."'ın tercümesi

Sheets("Sayfa2").PrintOut From:=1, To:=1

Cümledeki renklendirmeleri takip ederseniz, bu kısmını da çözebilirsiniz.

Sheet:Sayfa, Printout : Çıktı Almak, "From:=1 to:=1", "1'den 1'e kadar" demek...

Diğer sayfaları yazdırırken de aynı mantık ve dizge geçerli ...

Takıldığınız bir konu varsa, açıklayabilirim.

sayin ferhat bey ALLAH sizden razi olsun yillardir VB mantigini cozmeye calisiyorum ama yas biraz ileri oldugu, birde uygun egitici bulamadigim icin bir turlu basaramadim sayet sizin gibi bir anlatici bulabilseydim eminim bugun daha cok sey ogrenmis olurdum
bu konuya ilaveten bir sey ogrenmek istiyorum
biz yazdirmak istedigimiz alani sectik ornek "Worksheets("Sayfa2").Range("l1:v65").PrintPreview" lakin kenar bosluklari isi bozuyor yazdiracagim alan kenar bosluklari biraz fazla olunca (excel varsayilani) ikinci sayfaya tasiyor bunu kenar bosluklarinin ayari ile ugrasmadan yapabilirmiyiz
yardimlariniz icin simdiden tesekkurler
 
Güzel sözleriniz için teşekkür ederim.

Aşağıdaki gibi bir kod sanırım probleminizi çözecektir.

Kod:
Sub Belirli_Bir_Aralik_Yazdir()
[COLOR=green]            'Yazdırma alanını ayarlıyoruz. (I1:V65 arası)
[/COLOR]    Sheets("Sayfa2").PageSetup.PrintArea = "$I$1:$V$65"
[COLOR=green]            'Sayfa Ayarlarına giriyoruz.[/COLOR]
    With Sheets("Sayfa2").PageSetup
[COLOR=green]            'Eğer, yazıyı dikey olarak
            'kağıda ortalamak isterseniz,
            'True yapın[/COLOR]
        .CenterHorizontally = False
[COLOR=green]            'Eğer, yazıyı yatay olarak
            'kağıda ortalamak isterseniz,
            'True yapın[/COLOR]
        .CenterVertically = False
[COLOR=green]            'Kağıdı dikey pozisyonda
            'yazdıracağız. Yatay yazdırmak
            'için, xlLandscape yazın.[/COLOR]
        .Orientation = xlPortrait
[COLOR=green]            'A4 kağıda çıktı almak istiyoruz.[/COLOR]
        .PaperSize = xlPaperA4
[COLOR=green]            'Aşağıdaki ayarlar, yazıyı,
            'sadece bir sayafaya sığdırmak
            'için kullanılır.[/COLOR]
        .FitToPagesWide = 1
        .FitToPagesTall = 1
    End With
End Sub
 
cok sagolun ferhat bey inanin bu anlatiminiz ile anlamamak mumkun degil elleriniz akliniz dert gormesin
bu arada sizin veya bir bildiginiz bu tarz anlatim gibi bir kitap vesaire varmi acaba
tekrar tesekkurler
 
s.a. hocalar ben bu isin mantigini halaa cozemedim yahu amma geri zekaliyim
siteden kopyala yapistir yapmak da biraz sey gibi oluyor hani derler ya
" kisiye balik tutup vermektense balik tutmayi ogret " hazir baliklri toplayip yemek gibi oluyor ben istiyorum ki balik tutma yi ogreneyim ama olmuyor yine bir baliga ihtiyacim var ekte gorulecegi uzere yazdir komutunu verdigimde isaretli checkbox lara gore isaretli olan sayfalarin beliledigim alanlari (a1:x33) yazdiracak bir turlu beceremedim yardimlarinizi bekliyorum

not: mantigida gosterilir ise daha doyurucu olacagina inaniyorum
simdiden tesekkurler.
 
Geri
Üst