Çözüldü Kaydedilen Dosya Adını Belirleme Hakkında.

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhaba,
Gerek forumda yer alan örnek dosyalar, gerekse forumdaki saygıdeğer Üstadların yardımları ile oluşturmuş olduğum ve hasta raporlarımı hazırlamamda bana büyük faydaları olan kodlar aşağıdaki gibidir.

Kod:
Sub Protokol_Uret()
Dim kitaba As Workbook, kitaptan As Workbook
Dim i As Integer, ssat As Integer
Dim yol As String, dosyaAdı As String
With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With
Set kitaptan = ThisWorkbook
yol = ThisWorkbook.Path
ssat = kitaptan.Worksheets("ÖZET LİSTE").Cells(Rows.Count, "B").End(xlUp).Row

For i = 2 To ssat
    With kitaptan.Worksheets("ÖZET LİSTE")
    If .Range("E" & i).Value = "NORMAL" Then
        Set kitaba = Workbooks.Open("C:\Users\Murat\Desktop\RAPOR TASLAKLARI" & "\NORMAL.xlsx")
 
            
 
        
         kitaba.Worksheets("RAPOR").Range("D9").Value = .Range("J" & i).Value
         kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("K" & i).Value
         kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("L" & i).Value
         kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("M" & i).Value
         kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("N" & i).Value
         kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("O" & i).Value
         kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
         kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("I" & i).Value
         kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
         kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("H" & i).Value
        
        
        
       ElseIf .Range("E" & i).Value = "HOMOZİGOT" Then

        Set kitaba = Workbooks.Open("C:\Users\Murat\Desktop\RAPOR TASLAKLARI" & "\HOMOZİGOT.xlsx")
    
          kitaba.Worksheets("RAPOR").Range("D9").Value = .Range("J" & i).Value
         kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("K" & i).Value
         kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("L" & i).Value
         kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("M" & i).Value
         kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("N" & i).Value
         kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("O" & i).Value
         kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
         kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("I" & i).Value
         kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
         kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("H" & i).Value
        
      
       kitaba.Worksheets("RAPOR").Range("H22").Value = .Range("C" & i).Value
       kitaba.Worksheets("RAPOR").Range("M25").Value = .Range("C" & i).Value
      
      
      
       ElseIf .Range("E" & i).Value = "HETEROZİGOT" Then

        Set kitaba = Workbooks.Open("C:\Users\Murat\Desktop\RAPOR TASLAKLARI" & "\HETEROZİGOT.xlsx")
    
          kitaba.Worksheets("RAPOR").Range("D9").Value = .Range("J" & i).Value
         kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("K" & i).Value
         kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("L" & i).Value
         kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("M" & i).Value
         kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("N" & i).Value
         kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("O" & i).Value
         kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
         kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("I" & i).Value
         kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
         kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("H" & i).Value
        
        
        
       kitaba.Worksheets("RAPOR").Range("H22").Value = .Range("C" & i).Value
       kitaba.Worksheets("RAPOR").Range("M25").Value = .Range("C" & i).Value
      
      
       ElseIf .Range("E" & i).Value = "COMPOUND HETEROZİGOT" Then

        Set kitaba = Workbooks.Open("C:\Users\Murat\Desktop\RAPOR TASLAKLARI" & "\COMPOUND HETEROZİGOT.xlsx")
    
          kitaba.Worksheets("RAPOR").Range("D9").Value = .Range("J" & i).Value
         kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("K" & i).Value
         kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("L" & i).Value
         kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("M" & i).Value
         kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("N" & i).Value
         kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("O" & i).Value
         kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
         kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("I" & i).Value
         kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
         kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("H" & i).Value
        
        
        
       kitaba.Worksheets("RAPOR").Range("H22").Value = .Range("C" & i).Value
       kitaba.Worksheets("RAPOR").Range("A26").Value = .Range("C" & i).Value
       kitaba.Worksheets("RAPOR").Range("H23").Value = .Range("D" & i).Value
       kitaba.Worksheets("RAPOR").Range("D26").Value = .Range("D" & i).Value
      
      
      
      
      
      
      End If
          
        
        dosyaAdı = kitaba.Worksheets("RAPOR").Range("L9").Value
        kitaba.SaveAs yol & "\" & dosyaAdı, 56
        kitaba.Close
        
    End With
Next
On Error GoTo 0
With Application
    .ScreenUpdating = True
    .DisplayAlerts = True
End With
End Sub
Kullandıkça başka başka ihtiyaçlar ortaya çıkmakta maalesef. Yukarda yer alan kod bloğunda ki ;

Kod:
    dosyaAdı = kitaba.Worksheets("RAPOR").Range("L9").Value

        kitaba.SaveAs yol & "\" & dosyaAdı, 56

        kitaba.Close
Bu kısımda oluşturulan çalışma sayfaları , RAPOR sayfasının L9 değerine göre ilgili klasöre kaydedilmektedir. Revize edilmesini istediğim eylem ise ; kaydedilecek dosyanın ismi ; "L9 değeri _ D9" şeklinde olmasıdır.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,598
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Merhaba,

dosyaAdı = kitaba.Worksheets("RAPOR").Range("L9").Value & "_D9"
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,613
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba Arkadaşım,
dosyaAdı = kitaba.Worksheets("RAPOR").[L9]&"_"&[D9] satırını
şeklinde değiştirseniz yeterli diye düşünüyorum.
İyi çalışmalar
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
456
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
dosyaAdı = kitaba.Worksheets("RAPOR").Range("L9").Value & "_" & _
kitaba.Worksheets("RAPOR").Range("D9").Value

kitaba.SaveAs yol & "\" & dosyaAdı, 56

kitaba.Close


Bu kodda, & işleci, L9 ve D9 hücre değerlerini birleştirmek için kullanılır. Örneğin, L9'da "Rapor" ve D9'da "2024-03-09" değerleri varsa, dosya adı "Rapor_2024-03-09" olacaktır.


2.yöntem

dosyaAdı = CONCATENATE(kitaba.Worksheets("RAPOR").Range("L9").Value, "_", _
kitaba.Worksheets("RAPOR").Range("D9").Value)

kitaba.SaveAs yol & "\" & dosyaAdı, 56

kitaba.Close

Bu kodda, CONCATENATE işlevi, L9 ve D9 hücre değerlerini birleştirmek için kullanılır. İşlev, bir metin dizesi oluşturmak için birden fazla metin değerini bir araya getirmenize olanak tanır.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Sayın "dEdE" , "Tevfik Kursun" ve "muhasebeciyiz" , ilginizden dolayı çok ama çok teşekkür ederim. Gerçekten tüm çözümler istediğim şekilde. Sizlere tek tek saygılarımı sunuyorum.
 
Üst