• DİKKAT

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

Değişken hücre adresi...

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Merhaba,
....................
ss = [A65536].End(3).Row
Range("A1:A" & ss).PrintOut .............
.....................
komutu ile a sütununda son dolu satıra kadar olan hücreleri yazdırıyorum. Ancak bu kodu , sabit hücre yerine aktif hücreye göre nasıl düzenleyebilirim? Yani hangi hücre aktifse o sütunun son dolu satırına kadar yazdırma komutunu nasıl verebilirm? Yardımcı olacak arkadaşlara teşekkür ederim.
 
Merhaba,

Sanırım şunun gibi birşey...

Kod:
range("a1:" & chr(activecell.column + 64) & ss).printout
 
Merhaba Sayın Zeki Gürsoy,
Yazdırmak istediğim alan A1 den başlamıyor aslında..A1 yerine Activecell ifadesini nasıl yazacağım bunu öğrenmek istiyorum..
Yani; Range(ActiveCell & Chr(ActiveCell.Column + 64) & ss).PrintOut
gibi bir şey olması gerekiyor .. Hangi hücre aktifse, aktif hücreden başlayarak aynı sütunun son dolu satırına kadar yazdırılması gerekiyor..
umarım anlatabilmişimdir..
 
alternatif kod

sut = Selection.Column
sat = Cells(Rows.Count, sut).End(3).Row
Range(Cells(1, 1), Cells(sat, sut)).PrintOut
 
Bunu deneyin...

Kod:
r = activecell.row 'numerik değer 1 - 65536
c = chr(activecell.column + 64) 'metin değer A - Z
range(c & r ":" c & ss).printout
 
Sayın Zeki Gürsoy'a ve Sayın Halit3'e ilgilerinden dolayı teşekkür ederim. Ancak Zeki beyin kodları son satırında hata veriyor. Halit3 Beyin kodları çalışıyor ama her seferinde önce a sütunundaki veriyi sonra aktif hücrenin bulunduğu sütunu yazdırıyor. Sadece aktif hücrenin bulunduğu sütunu yazdırması gerekiyor oysa.. Örnek dosya ektedir. İlgilerine tekrar teşekkür ederim..
 

Ekli dosyalar

  • yaz.xls
    yaz.xls
    19.5 KB · Görüntüleme: 11
Selamlar,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub SEÇİLİ_ALANI_YAZDIR()
    Dim Son_Satır As Long, Sütun As Byte
    Son_Satır = Cells(65536, ActiveCell.Column).End(3).Row
    Sütun = ActiveCell.Column
    Range(Cells(1, Sütun), Cells(Son_Satır, Sütun)).PrintOut
End Sub
 
bunları denermisiniz.

Sub yazdır1()
yer = ActiveSheet.Name 'sayfa adı
sut = Selection.Column
sat = Worksheets(yer).Cells(Rows.Count, sut).End(3).Row
Worksheets(yer).Range(Worksheets(yer).Cells(1, 1), Worksheets(yer).Cells(sat, sut)).Select
yaz = Worksheets(yer).Range(Worksheets(yer).Cells(1, 1), Worksheets(yer).Cells(sat, sut)).Address
a = MsgBox(yaz & " Yazdırmak İstiyormusunuz..?", vbYesNo, "Uyarı")
If a = 6 Then
Worksheets(yer).PageSetup.PrintArea = yaz
Worksheets(yer).PrintOut Copies:=1, Collate:=True
SaveAsUI = True
ElseIf a = 7 Then
Cancel = True
End If
End Sub


Sub yazdır2()
yer = ActiveSheet.Name
sut = Selection.Column
sat = Worksheets(yer).Cells(Rows.Count, sut).End(3).Row
Worksheets(yer).Range(Worksheets(yer).Cells(1, sut), Worksheets(yer).Cells(sat, sut)).Select
yaz = Worksheets(yer).Range(Worksheets(yer).Cells(1, sut), Worksheets(yer).Cells(sat, sut)).Address
a = MsgBox(yaz & " Yazdırmak İstiyormusunuz..?", vbYesNo, "Uyarı")
If a = 6 Then
Worksheets(yer).PageSetup.PrintArea = yaz
Worksheets(yer).PrintOut Copies:=1, Collate:=True
SaveAsUI = True
ElseIf a = 7 Then
Cancel = True
End If
End Sub
 
Merhaba,
Biraz geç oldu ama Sayın Korhan Ayhan'a ve sayın Halt3'e ilgilerinden dolayı teşekkür ederim. Bilgi olarak; Sayın korhan Ayhan'ın kodları, yapmak istediklerimi tam olarak karşılıyor..Sayın Halit3' kodlarıyla A1 den itibren Aktif sütunun ilk hücresi arasındaki bölüm yazdırılıyor. Her iki arkadaşımıza da ilgilerinden ve yardımlarından dolayı tekrar teşekkür eder esenlikler dilerim.
 
Geri
Üst