Merhaba,
Aşağıdaki gibi bir macrom var. Makroyu başka dosyalarda kullanabiliyorum, yada sayfa adını değiştirebiliyorum. Bu yöntemde, süreki kodun içine girip elle sayfa adını değiştirmem gerekiyor.
Sadece Set Alan = Worksheets("sheet1").Range(DinamikAlan) yöntemindeki "sheet1" i otomatik yapabilir miyiz. Yani sayfa adı değişse bile macro çalışsın.
Destek olursanız sevinirim.
Private Sub CommandButton1_Click()
Dim Sayfa As Worksheet
Dim Alan As Range
Dim daralan As Range
If Cells(2, 2) = "" Then GoTo HATA
On Error GoTo HATA
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
saydir = WorksheetFunction.CountIf(Range("d:d"), "<>") + 1
DinamikAlan = "D2:" & "R" & saydir
Set Alan = Worksheets("sheet1").Range(DinamikAlan)
Set Sayfa = ActiveSheet
With Alan
.Parent.Select
Set daralan = ActiveCell
.Select
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
.Introduction = "Merhaba, raporlar aşağıdaki gibidir."
With .Item
.To = Cells(2, 2)
.CC = Cells(3, 2)
.Subject = Cells(1, 2)
.Send
End With
End With
daralan.Select
End With
Sayfa.Select
HATA:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
Aşağıdaki gibi bir macrom var. Makroyu başka dosyalarda kullanabiliyorum, yada sayfa adını değiştirebiliyorum. Bu yöntemde, süreki kodun içine girip elle sayfa adını değiştirmem gerekiyor.
Sadece Set Alan = Worksheets("sheet1").Range(DinamikAlan) yöntemindeki "sheet1" i otomatik yapabilir miyiz. Yani sayfa adı değişse bile macro çalışsın.
Destek olursanız sevinirim.
Private Sub CommandButton1_Click()
Dim Sayfa As Worksheet
Dim Alan As Range
Dim daralan As Range
If Cells(2, 2) = "" Then GoTo HATA
On Error GoTo HATA
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
saydir = WorksheetFunction.CountIf(Range("d:d"), "<>") + 1
DinamikAlan = "D2:" & "R" & saydir
Set Alan = Worksheets("sheet1").Range(DinamikAlan)
Set Sayfa = ActiveSheet
With Alan
.Parent.Select
Set daralan = ActiveCell
.Select
ActiveWorkbook.EnvelopeVisible = True
With .Parent.MailEnvelope
.Introduction = "Merhaba, raporlar aşağıdaki gibidir."
With .Item
.To = Cells(2, 2)
.CC = Cells(3, 2)
.Subject = Cells(1, 2)
.Send
End With
End With
daralan.Select
End With
Sayfa.Select
HATA:
With Application
.ScreenUpdating = True
.EnableEvents = True
End With
End Sub
