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
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Hocam metin olmadan direkt hücreye de olabilir, metin de olabilir.Merhaba,
İmza bloğunu "resim" olarak mı "metin kutusu" olarak mı ekliyorsunuz?
Sub imza()
For Each Resim In Sheets("Stok").Shapes
If Resim.Name = "Picture 1" Then
Resim.Copy
ActiveSheet.Paste Destination:=Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7)
Resim.Delete
End If
Next
End Sub
Hocam Stok isimli, bir kaç cümle yazdığıma sayfada denedim ama birşey olmadı. Nerede hata yaptımÖrneklere göre ayarlayabilirsiniz. Stok isimli sayfada çalışan makro:
' If Resim.Name = "1 Resim" Then
' If Resim.Name = "1 Metin kutusu" Then
' If Resim.Name = "Picture 1" Then
Kod:Sub imza() For Each Resim In Sheets("Stok").Shapes If Resim.Name = "Picture 1" Then Resim.Copy ActiveSheet.Paste Destination:=Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7) Resim.Delete End If Next End Sub
Metin kutusu oluşturdum makro çalışırdım ama bir değişiklik olmadı hocam. Aynı yerde duruyorİmzanızı bir resim olarak veya bir metin kutusu olarak sayfada bir yerde bulundurun. Nesne ismini verdiğim örneklere göre kendiniz düzenleyin. Sonra makroyu çalıştırın. Ne kadar satır olursa olsun imza bloku sağ alt köşede belirlediğiniz uzaklıkta yerini alır.
Maalesef korumalı hocam yukleyemiyorum.Paylaşım sitesine örnek yükleyebilir misiniz?
Hocam örneği inceledim. Ama yine çalışmadı. Sizin yaptığınız tam olarak ne yapıyor.Ben bir örnek hazırladım.
ActiveSheet.Paste Destination:=Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7)
Yazıların 10 satır altına 7. sütun hizasında imza bloku.
Örnek linki
Valla çalışmıyor bende yerini değiştiriyorum makro çalıştırıyorum değiştirdiğim yerde kalıyor 10satin 7. Sütun olayı olmuyorMetin kutusu olarak sayfada herhangi bir yerde bulunan imza kutusunu istediğimiz standart bir koordinata getiriyor.
Hocam sizin dosya üzerinde yapıyorumOn error resume "örnek dosya"
hocam ekledimUzaktan ancak bu kadar. Forum arkadaşlarından yardım edenler olacaktır.
Sub imza_Kutu()
Dim imz As Range
For Each resim In ActiveSheet.Shapes
If resim.Name = "1 Metin kutusu" Then
Set imz = Cells(Cells(Rows.Count, 1).End(3).Row + 10, 7)
resim.Top = imz.Top
resim.Left = imz.Left
End If
Next
End Sub
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
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
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
Çok teşekkür ediyorum. Deneyeceğimİ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