Makro ile Hücredeki İsimleri Farklı Kaydetme

  • Konuyu başlatan Konuyu başlatan ugurcet
  • Başlangıç tarihi Başlangıç tarihi
Çözüm
Merhaba Sayın @ugurcet .

Sayın @muhsar soruyu cevaplandırmış ama ben de fikrimi belirteyim.

Belgedeki makroların silinebilmesi için malesef bir ayar yapılması gerekiyor.
Kullandığınız excel versiyonuna göre ayar konumu değişebilir ama ben benim kullandığım haline göre ekran görüntüsü verdim.
Excel SEÇENEKLERİ bölümünde, GÜVEN MERKEZİ ayarları kısmından VBA Project Modeline erişim izni işaretli olmalıdır.

Bu ayarı yaptıktan sonra, sayfaya bir adet metin kutusu/şekil ekleyin ve
bu metin kutusu/şekil ile aşağıdaki makroyu ilişkilendirip, bu nesneye fareyle tıklayarak çalıştırın.
VBA:
Sub XLSX_KAYDET_MAKROLARI_SIL()
yol = ThisWorkbook.Path
isim = [A1].Text
ThisWorkbook.Save
Application.DisplayAlerts = False...
merhaba;
makro ile A1 hücresinde yazılı olan değer ile belirli bir konuma (.xlsx) formatıyla farklı kaydetmek istiyorum. kod için yardımcı olabilir misiniz?
saygılarımla.
sn.uğurcet;bende öğrenmeye çalışan bir forum kullanıcısıyım.elimdeki kodlardan bir örnek yaptım ama xlsm olarak kayıt ediyor,xlsx kısmını halledemedim.bu hali ile işinize yararsa kodları kullanırsınız.(masa üstüne a1 de yazan isim ile farklı kayıt eder)
 

Ekli dosyalar

Merhaba Sayın @ugurcet .

Sayın @muhsar soruyu cevaplandırmış ama ben de fikrimi belirteyim.

Belgedeki makroların silinebilmesi için malesef bir ayar yapılması gerekiyor.
Kullandığınız excel versiyonuna göre ayar konumu değişebilir ama ben benim kullandığım haline göre ekran görüntüsü verdim.
Excel SEÇENEKLERİ bölümünde, GÜVEN MERKEZİ ayarları kısmından VBA Project Modeline erişim izni işaretli olmalıdır.

Bu ayarı yaptıktan sonra, sayfaya bir adet metin kutusu/şekil ekleyin ve
bu metin kutusu/şekil ile aşağıdaki makroyu ilişkilendirip, bu nesneye fareyle tıklayarak çalıştırın.
VBA:
Sub XLSX_KAYDET_MAKROLARI_SIL()
yol = ThisWorkbook.Path
isim = [A1].Text
ThisWorkbook.Save
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=yol & "\" & isim, FileFormat:=51
ActiveSheet.DrawingObjects.Delete
Application.DisplayAlerts = True
For Each makro In ThisWorkbook.VBProject.VBComponents
    Set makro = ThisWorkbook.VBProject.VBComponents(makro.Name)
    If makro.Type = 100 Then
        Set kodtur = makro.CodeModule
        makro.CodeModule.DeleteLines 1, kodtur.CountOfLines
    Else: ThisWorkbook.VBProject.VBComponents.Remove makro
    End If
Next
End Sub
.
1588800731053.webp
1588800766476.webp


.
 
Çözüm
Sayın @Ömer BARAN 'ın affına sığınarak, kendisnden öğrendiğim kadarıyla aşağıdaki gibi olabilir mi?
Dosyayı tekrar açtığında makrolarda silinmiş olacak.
Kod:
Sub xlsxKaydet()
    isim = [A1] & ".xlsx"
    belge = ThisWorkbook.Path & "\" & isim
    Application.DisplayAlerts = False
   ActiveWorkbook.SaveAs Filename:=belge, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    MsgBox (isim) & " kaydedildi."
    Application.Quit
End Sub
 
çok teşekkür ederim ikisi de işimi görüyor kusura bakmayın yazmakta biraz geç kaldım hastalıkla uğraşıyordum. son bir sorum olacaktı her ikisinde dosya yolunu nereye yazmalıyım belirli bir dosya konumuna da kaydetmek istiyorum çünkü
 
Estağfurullah Sayın @leguminosea .

Sayın @ugurcet , hangi kodu kullanacaksanız o koddaki ThisWorkbook.Path yerine istediğiniz bir klasörün yolunu
ÇİFT TIRNAK arasında olacak şekilde yazarak istediğiniz dizini yol olarak belirtebilirsiniz.

.
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst Alt