Forum
Kapalı bir Excel dosyasını açmadan, sayfadaki istenilen bir alanı yazdırmak için aşağıdaki kodları kullanabilirsiniz;
Gerekli Nesneler
■ UserForm
■ 2 Adet TextBox
■ 2 Adet CommandButton
Public Function Yazılacak_Alan(ByVal Dosya As String, ByVal Aralık As String)
On Error GoTo Hata
Dim Evn As Object
Set Evn = CreateObject("Excel.Application")
If Dosya = "" Or Aralık = "" Then
MsgBox "Dosya adı ve/veya aralık belirtilmemiş.", vbCritical
Exit Function
End If
With Evn
.Workbooks.Open Dosya
.Range(Aralık).Select
.ActiveSheet.PageSetup.PrintArea = Aralık
.Selection.PrintOut Copies:=1, Collate:=True
.Workbooks(1).Close False
End With
Call Excelden_Cik(Evn)
Exit Function
Hata:
If Err.Number > 0 Then
MsgBox (Err.Description)
On Error GoTo 0
Call Excelden_Cik(Evn)
End If
End Function
Sub Excelden_Cik(Evn As Object)
On Local Error Resume Next
Evn.Quit
Set Evn = Nothing
End Sub
Private Sub CommandButton1_Click()
Call Yazılacak_Alan(TextBox1.Text, TextBox2.Text)
End Sub
Private Sub CommandButton2_Click()
dsy = Application.GetOpenFilename(FileFilter:="Excel Dosyaları,*.xls;*.xlsx;*.xlsm", Title:="Dosya Seç")
If dsy = "" Or dsy = False Then Exit Sub
TextBox1.Value = dsy
End Sub
Private Sub TextBox2_Enter()
TextBox2.Text = ""
End Sub
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.Text = "Örnek; A1:E6"
End Sub
Private Sub UserForm_Initialize()
TextBox2.Value = "Örnek; A1:E6"
End Sub
Hoşça kalın !
Elinize sağlık.
1984 doğumluyum. 4 yaşından bu yana İstanbul’da yaşıyorum. Sırası ile aşağıdaki okullarda eğitim gördüm. Paşaköy ilkokulu (1990-1995) Kartal Zekeriyya Güçer İlköğretim Okulu(1995-1998) Ümraniye Teknik ve Endüstri Meslek Lisesi Bilgisayar Bölümü(1998-2001) Kocaeli Üniversitesi Bilgisayar Programcılığı(2002-2004) Anadolu Ünv. İşletme Fakültesi(2006-2009) Lise yıllarından sonra bir bilgisayar firmasının teknik servisinde mesleğe merhaba dedim. Outsource olarak Citibank ytl ve bina taşınma projesinde yer alarak 8 ay görev yaptım. Bu görevden sonra şu an çalışmakta olduğum yerde bilgi işlem sorumlusu olarak göreve başladım ve 18 yıldır görevimin başındayım.