By.TRabZonLutm
Altın Üye
- Katılım
- 15 Aralık 2017
- Mesajlar
- 121
- Excel Vers. ve Dili
- Excel 2016 - Türkçe
- Altın Üyelik Bitiş Tarihi
- 12-01-2029
Hocam denedim çok güzel çalışıyor. Tek bir eksiği kaldı. Ben sırayla yazdiracagim zaman , yazdirmadan önce hep makro çalıştırmam gerekiyor ki belirttiğimiz bölüme gelsin. Ben hiç uğraşmadan sürekli aktif olsa otomatik olarak o bölüme kendisi gelseİmza kaşe bloku ile ilgili 3 adet örnek daha ekliyorum. Mümkün olduğunca font çeşitliliği eklendi. Bunlar üzerinde oynanarak kendi stilimizi elde edebiliriz.
Örnek 1
Hücreye düz yazı yazar gibi imza bloku eklemek:
Örnek 2Kod:Sub imza_Duz_Yazi() Dim imz As Range Set imz = Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7) With imz .Offset(0, 0).Resize(3, 3).Merge .Value = "ABC FİRMASI LTD. ŞTİ." & vbLf & "Ali Veli Selami" & vbLf & "Gn.Md." .Characters(1, 21).Font.Color = vbRed .Characters(1, 21).Font.Bold = True .Characters(22, Len(imz)).Font.Color = vbBlack End With End Sub
Hücreye imza blokunu metin kutusu olarak eklemek:
Örnek 3Kod:Sub imza_Kutu_Ekle2() Dim imz As Range Dim sh As Shape With ActiveSheet On Error Resume Next .Shapes("imzam").Delete On Error GoTo 0 Set sh = .Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 50, 150, 50) With sh .Select .Line.Visible = msoFalse .TextFrame.Characters.Text = "ABC FİRMASI LTD. ŞTİ." & Chr(13) & "Ali Veli Selami" & Chr(13) & "Gn.Md." .TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter .TextFrame.Characters.Font.Name = "Tahoma" .TextFrame.Characters.Font.Size = 10 .TextFrame.Characters.Font.Bold = msoTrue .TextFrame2.TextRange.Paragraphs(2).Font.Size = 12 .TextFrame2.TextRange.Paragraphs(2).Font.Fill.ForeColor.RGB = RGB(255, 0, 0) .Name = "imzam" Set imz = Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7) .Top = imz.Top .Left = imz.Left imz.Select End With End With End Sub
Hücreye imza blokunu daha önceden klasöre kaydedilen kaşe resmi olarak eklemek:
Kod:Sub imza_Resim() Dim hcr As Range, PicFile As String, resim As Shape Dim PicTop As Integer, PicLeft As Integer, PicW As Integer, PicH As Integer With ActiveSheet On Error Resume Next .Shapes("imzam").Delete On Error GoTo 0 'imza resminin bulunduğu konum PicFile = ThisWorkbook.Path & "\" & "imzam.jpg" If Dir(PicFile) = Empty Then MsgBox "Resim bulunamadı..!", vbCritical Exit Sub End If 'Son satırdan 10 satır aşağıda ve 7. sütun hizasında Set hcr = .Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7) PicTop = hcr.Top PicLeft = hcr.Left PicW = 150 'imza genişliği PicH = 90 'imza yüksekliği Set resim = .Shapes.AddPicture(PicFile, True, True, PicLeft, PicTop, PicW, PicH) resim.Name = "imzam" End With End Sub