form üzerinden makro çalıştırmak

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
iyi günler;
sık sık yaptığım 5-6 işlem var. her döküm indirdiğimde makroyu kopyalayıp, ilgili yere yapıştırıp çalışmak işlemini daha pratik hale getirmek için, basit bir Userform oluşturup ona eklediğimiz commondbuttonlar ile işlemi yapabilirmiyiz. makro çalışırılacak dosya ismi her zaman " ABC " olarak sabit ve her zaman masaüstunde KAPALI dosya olarak bulunacak şekilde uzantı olarak her zaman .xlsx , her işlem için ayrı makro , buton şeklinde sabitlemek istiyorum. Kapalı dosyalardan rapor oluşturma örneği var ama bu işleme uyarlayamadım. Teşekkürler. örnek kod ise
Kod:
Sub satırsil()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = Cells(Rows.Count, "A").End(3).Row To 7 Step -1
If Cells(i, "A").Value = "99" Then
Range("A" & i & ":D" & i).Font.Bold = True
End If
If Cells(i, "A").Value = "Sınıf Kodu" Or Cells(i, "B").Value = "HESAP PLANI LİSTESİ" Or Cells(i, "C").Value = "" Or Cells(i, "C").Value = "Rapor Tarihi" Then
Rows(i).Delete
End If
Next i
Columns("c:d").ColumnWidth = 16
MsgBox "Silme İşlemi Tamanlanmıştır"
End Sub
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Ekteki dosyada istediğiniz gibi yaptım fakat deneme yapmadım.
Kontrol edin bakalım istediğiniz gibi olmuş mu?

ABC dosyasının hangi sayfasında işlem yapılacağını söylememişsiniz.
Set Syf = Dosya.Worksheets("Sayfa1") satrında "Sayfa1" yerine kendi sayfanızın adını yazmalısınız.
 

Ekli dosyalar

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
Merhaba.
Ekteki dosyada istediğiniz gibi yaptım fakat deneme yapmadım.
Kontrol edin bakalım istediğiniz gibi olmuş mu?

ABC dosyasının hangi sayfasında işlem yapılacağını söylememişsiniz.
Set Syf = Dosya.Worksheets("Sayfa1") satrında "Sayfa1" yerine kendi sayfanızın adını yazmalısınız.
teşekkür ederim, çalışırken hata verdi ama sadece
'End With
.Columns("c:d").ColumnWidth = 16
End With

bunun yerine değiştirce sorun çözüldü. elinize sağlık çalışma şeklini öğrenmiş oldum. başka makrolarıma da adapte edebilirim sanırım. ancak makroların başına " . " işaretinin sebebinide öğrenmek isterdim. " .Columns " , yeni işlemde kullanmak için. iyi çalışmalar.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
"." işareti "With" ile başlayan kod satırının devamı olduğunu belirtiyor.
"With
....
End With"
değimleri kodu kısaltmak için kullanılıyor.

Örnek:

Kod:
Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı").Range("A1")="Ahmet"
Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı").Range("B1")="Demir"
Yukarıdaki kod ile aşağıdaki kod aynı işlemi yapar.

Kod:
With Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı")
   .Range("A1")="Ahmet"
   .Range("B1")="Demir"
end with
 

igultekin2000

Altın Üye
Katılım
5 Eylül 2007
Mesajlar
1,238
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
"." işareti "With" ile başlayan kod satırının devamı olduğunu belirtiyor.
"With
....
End With"
değimleri kodu kısaltmak için kullanılıyor.

Örnek:

Kod:
Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı").Range("A1")="Ahmet"
Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı").Range("B1")="Demir"
Yukarıdaki kod ile aşağıdaki kod aynı işlemi yapar.

Kod:
With Workbook("Dosyaadı.xlsx").worksheets("Sayfaadı")
   .Range("A1")="Ahmet"
   .Range("B1")="Demir"
end with
bilgilendirme için teşekkür ederim. Notlarım arasına aldım. iyi günler
 
Üst