merhaba
asagidaki makrolari baska bir calisma sayfasindan veri aktarmak icin kullaniyorum. haftalik olarak yapabildigim bu islemi aylik olarak yapmak istiyorum. makrolar üzerinde nasil bir degisiklik yapmam gerekiyor acaba.örnek dosya ektedir. tesekkür ederim.
Sub aktar()
Dim isim, dosya, yol As String, Son As Long ', dsyad As String
Dim i As Long, k As Byte, sat As Long, j As Byte
Sheets("Günlük").Select
Range("B12:AK22").ClearContents
isim = UCase(Replace(Replace(Range("F1").Value, "ý", "I"), "i", "Ý"))
yol = "C:\Yedek"
If isim = "" Then
MsgBox "Rapor Çýkarýlmadý..!!" & vbLf & "isim boþ olamaz..!!", vbCritical, "UYARI"
Range("F1").Select
Exit Sub
End If
sat = 12
For j = 1 To 10
dosya = UCase(Replace(Replace(Range("C" & j).Value, "ý", "I"), "i", "Ý")) & ".xlsm"
If Cells(j, "C").Value = "" Then GoTo atla
If Dir(yol & dosya) = "" Then
MsgBox "[ " & dosya & " ] Dosya Yolu doðru deðil veya dosya yok..!!", vbCritical, "UYARI"
GoTo atla
End If
Son = Application.ExecuteExcel4Macro("COUNTA('" & yol & "[" & dosya & "]Veriler'!C1)")
Son = Son + 5
If Son < 6 Then
MsgBox "Bu dosyada veri yok..!!", vbCritical, "UYARI"
GoTo atla
End If
For i = 6 To 39
dsyad = Application.ExecuteExcel4Macro("'" & yol & "[" & dosya & "]Veriler'!R" & i & "C1")
dsyad = UCase(Replace(Replace(dsyad, "ý", "I"), "i", "Ý"))
If isim = dsyad Then
Cells(sat, "A").Value = sat - 11
Cells(sat, "B").Value = dosya
Cells(sat, "C").Value = dsyad
For k = 3 To 39
Cells(sat, k + 1).Value = Application.ExecuteExcel4Macro( _
"'" & yol & "[" & dosya & "]Veriler'!R" & i & "C" & k)
Next k
sat = sat + 1
End If
Next i
atla:
Next j
MsgBox "Ýþleminiz tamamlanmistir!!", vbOKOnly + vbInformation, Application.UserName
End Sub
asagidaki makrolari baska bir calisma sayfasindan veri aktarmak icin kullaniyorum. haftalik olarak yapabildigim bu islemi aylik olarak yapmak istiyorum. makrolar üzerinde nasil bir degisiklik yapmam gerekiyor acaba.örnek dosya ektedir. tesekkür ederim.
Sub aktar()
Dim isim, dosya, yol As String, Son As Long ', dsyad As String
Dim i As Long, k As Byte, sat As Long, j As Byte
Sheets("Günlük").Select
Range("B12:AK22").ClearContents
isim = UCase(Replace(Replace(Range("F1").Value, "ý", "I"), "i", "Ý"))
yol = "C:\Yedek"
If isim = "" Then
MsgBox "Rapor Çýkarýlmadý..!!" & vbLf & "isim boþ olamaz..!!", vbCritical, "UYARI"
Range("F1").Select
Exit Sub
End If
sat = 12
For j = 1 To 10
dosya = UCase(Replace(Replace(Range("C" & j).Value, "ý", "I"), "i", "Ý")) & ".xlsm"
If Cells(j, "C").Value = "" Then GoTo atla
If Dir(yol & dosya) = "" Then
MsgBox "[ " & dosya & " ] Dosya Yolu doðru deðil veya dosya yok..!!", vbCritical, "UYARI"
GoTo atla
End If
Son = Application.ExecuteExcel4Macro("COUNTA('" & yol & "[" & dosya & "]Veriler'!C1)")
Son = Son + 5
If Son < 6 Then
MsgBox "Bu dosyada veri yok..!!", vbCritical, "UYARI"
GoTo atla
End If
For i = 6 To 39
dsyad = Application.ExecuteExcel4Macro("'" & yol & "[" & dosya & "]Veriler'!R" & i & "C1")
dsyad = UCase(Replace(Replace(dsyad, "ý", "I"), "i", "Ý"))
If isim = dsyad Then
Cells(sat, "A").Value = sat - 11
Cells(sat, "B").Value = dosya
Cells(sat, "C").Value = dsyad
For k = 3 To 39
Cells(sat, k + 1).Value = Application.ExecuteExcel4Macro( _
"'" & yol & "[" & dosya & "]Veriler'!R" & i & "C" & k)
Next k
sat = sat + 1
End If
Next i
atla:
Next j
MsgBox "Ýþleminiz tamamlanmistir!!", vbOKOnly + vbInformation, Application.UserName
End Sub
Ekli dosyalar
-
31.4 KB Görüntüleme: 65