• DİKKAT

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

Dosyaya makro ile makro koymak

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,487
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım, başlık tam mecalimi anlatamadıysa özür dilerim. Ben daha önce yardım almıştım. Sorum şu (aslında biraz da merak ediyorum). İş yerinin web sitesinden rapor indiriyorum. xlsx uzantısı ile iniyor. Ben başka dosya ile (Raporları biçimlendirme dosyası) makro kullanarak inen raporu biçimlendiriyorum.
Doğal olarak yine xlsx uzantılı kaydediyor.
Acaba biçimlendirme bittikten sonra xlsm olarak kaydetse (hadi bunu hallettim) ve sayfa kod yerine

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("F2:F1000")) Is Nothing Then
        Me.Cells(Target.Row, "F").Value = "Köşe Yazarı"
    End If
End Sub

Yazdırmak mümkün mü?
Teşekkür ederim.
Saygılarımla.
 
Anladığım
Rapor indiriliyor (xlsx)
Başka bir dosya ile makro çalıştırıp biçimlendiriyorsun
Sonuçta dosya xlsm olarak kaydediliyor
Ayrıca ilgili sayfaya Worksheet kodu eklemek istiyorsun

Kod:
Sub KodEkle()

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim codeStr As String

    Set wb = ThisWorkbook ' veya hedef workbook
    Set ws = wb.Sheets("Sheet1") ' hedef sayfa adı

    codeStr = _
    "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" & vbCrLf & _
    "    If Not Intersect(Target, Me.Range(""F2:F1000"")) Is Nothing Then" & vbCrLf & _
    "        Me.Cells(Target.Row, ""F"").Value = ""Köşe Yazarı""" & vbCrLf & _
    "    End If" & vbCrLf & _
    "End Sub"

    With wb.VBProject.VBComponents(ws.CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
        .InsertLines 1, codeStr
    End With

End Sub

Makron şu sırayla ilerlesin:
XLSX dosyayı aç
Biçimlendirme işlemlerini yap
XLSM olarak kaydet
KodEkle prosedürünü çalıştır
Dosyayı kapat
Makro güvenliği açık olacak
 
Merhaba,
İnternetten indirdiğiniz dosyaları biçimlendirmek için kullandığınız dosyayı eklenti (".xlam" uzantılı) olarak kaydetmenizi, sonra da, bu eklentiyi dilediğiniz zaman etkinleştirerek kullanmanızı öneririm. (Excel'de eklenti etkinleştirme, devre dışı bırakma konusunu araştırınız).
 
Anladığım
Rapor indiriliyor (xlsx)
Başka bir dosya ile makro çalıştırıp biçimlendiriyorsun
Sonuçta dosya xlsm olarak kaydediliyor
Ayrıca ilgili sayfaya Worksheet kodu eklemek istiyorsun

Kod:
Sub KodEkle()

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim codeStr As String

    Set wb = ThisWorkbook ' veya hedef workbook
    Set ws = wb.Sheets("Sheet1") ' hedef sayfa adı

    codeStr = _
    "Private Sub Worksheet_SelectionChange(ByVal Target As Range)" & vbCrLf & _
    "    If Not Intersect(Target, Me.Range(""F2:F1000"")) Is Nothing Then" & vbCrLf & _
    "        Me.Cells(Target.Row, ""F"").Value = ""Köşe Yazarı""" & vbCrLf & _
    "    End If" & vbCrLf & _
    "End Sub"

    With wb.VBProject.VBComponents(ws.CodeName).CodeModule
        .DeleteLines 1, .CountOfLines
        .InsertLines 1, codeStr
    End With

End Sub

Makron şu sırayla ilerlesin:
XLSX dosyayı aç
Biçimlendirme işlemlerini yap
XLSM olarak kaydet
KodEkle prosedürünü çalıştır
Dosyayı kapat
Makro güvenliği açık olacak
Aynen hocam. Başka dosya kullanarak düzenleme yapıyorum. Çünkü inen dosya standart değil. Onu, işte sütun sil, sütun satır ölçüsü en önemlisi de. F sütunu doluysa sağına bir kelime yazıyor. Ve kaydediyor. İşte o sütuna tıkladığım hücreler başka bir yazıya dönüşecek. Ama F kaçıncı sıra bilmiyoruz.
Çok teşekkür ederim hocam. Emeğinize sağlık.
 
Son düzenleme:
Geri
Üst