Forumda saygıdeğer üstatların yardımı ile oluşturmuş olduğumuz aşağıda yer alan kodlar sorunsuz çalışmakta, yalnız rutin işlerde kullanmaya başladıkça eksiklikler/eklemeler hasıl oluyor. Şöyle ki ; kullanılan kodun tamamı bu şekilde,
Kod: Tümünü seç
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("I" & i).Value
kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("J" & i).Value
kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("K" & i).Value
kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("L" & i).Value
kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("M" & i).Value
kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("N" & i).Value
kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("H" & i).Value
kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("O" & 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("I" & i).Value
kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("J" & i).Value
kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("K" & i).Value
kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("L" & i).Value
kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("M" & i).Value
kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("N" & i).Value
kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("H" & i).Value
kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("O" & 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("I" & i).Value
kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("J" & i).Value
kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("K" & i).Value
kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("L" & i).Value
kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("M" & i).Value
kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("N" & i).Value
kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("H" & i).Value
kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("O" & 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("I" & i).Value
kitaba.Worksheets("RAPOR").Range("D10").Value = .Range("J" & i).Value
kitaba.Worksheets("RAPOR").Range("G10").Value = .Range("K" & i).Value
kitaba.Worksheets("RAPOR").Range("D11").Value = .Range("L" & i).Value
kitaba.Worksheets("RAPOR").Range("D12").Value = .Range("M" & i).Value
kitaba.Worksheets("RAPOR").Range("D13").Value = .Range("N" & i).Value
kitaba.Worksheets("RAPOR").Range("L9").Value = .Range("F" & i).Value
kitaba.Worksheets("RAPOR").Range("L10").Value = .Range("H" & i).Value
kitaba.Worksheets("RAPOR").Range("L11").Value = .Range("G" & i).Value
kitaba.Worksheets("RAPOR").Range("L12").Value = .Range("O" & 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.Worksheets("RAPOR").Range("D9").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
Kod: Tümünü seç
dosyaAdı = kitaba.Worksheets("RAPOR").Range("L9").Value & "_" & _
kitaba.Worksheets("RAPOR").Range("D9").Value
kitaba.SaveAs yol & "\" & dosyaAdı, 56
kitaba.Close
Bu kısımda dosyalar oluşturulduktan sonra ilgili dosya ismine göre excel sayfasının olduğu klasöre kaydedilmektedir. Bu kısımda dosyaların kaydedileceği klasörü bana sormasını istiyorum.(10+ üzeri dosya oluşturuluyor) Yani kod çalışmaya başlayınca pencere açılsın ve ben kodun oluşturduğu dosyaların hepsinin kaydedileceği klasörü seçebilme imkanım olmasını istemekteyim.