• DİKKAT

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

MACRO "SET ALANI" DİNAMİK OLSUN

Katılım
17 Aralık 2012
Mesajlar
133
Excel Vers. ve Dili
Microsoft 365
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
 
ActiveSheet.Name ifadesi işinize yarayabilir.
 
Deneyiniz.
Alternatif.:cool:
Kod:
Set Alan = ActiveSheet.Range(DinamikAlan)
 
Geri
Üst