VBA Kod Açıklaması Yardım

hasanyaprak

Altın Üye
Katılım
9 Aralık 2010
Mesajlar
69
Excel Vers. ve Dili
İş office 2021 / Ev ofis 2016 64 bit
Altın Üyelik Bitiş Tarihi
13-10-2025
Arkadaşlar merhaba Aşağıdaki kodlarda kendi dosyama göre değişiklik yapacağım. Forx ile başlayan bölge ile Exit for kısımlarındaki kodların yanlarına ne anlama geldiklerini açıklayabilir misiniz? NE DEMEK diye yanlarına not düştüm özellikle o kodlar.


Yol = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör\"
HedefKlasor = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör\PDF Dosyaları\"
dosya = Dir(Yol & "*.pdf")

Set DosyaSistemi = CreateObject("Scripting.FileSystemObject")

Do While dosya <> ""
For X = 1 To Cells(Rows.Count, 2).End(3).Row NE DEMEK?
Cells(X, 50) = Left(dosya, Len(Cells(X, 2))) NE DEMEK?
If Cells(X, 50) = Cells(X, 2) Then NE DEMEK?
yeni_isim = Cells(X, 2).Text & "_" & Cells(X, 1) 'SAĞ TARAFTAKİ DEĞER SUTUN SAYISI 1(A) 2(B) GİBİ
DosyaSistemi.CopyFile Yol & dosya, HedefKlasor & yeni_isim & ".pdf"

Exit For

End If
Next
dosya = Dir
Loop
Range(Cells(1, 50), Cells(65000, 50)).ClearContents
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
 
Katılım
5 Ocak 2019
Mesajlar
572
Excel Vers. ve Dili
Ofis 365 Tr
Altın Üyelik Bitiş Tarihi
05-01-2025
C++:
Merhaba,

Aşağıda kodların açıklamalarını bulabilirsiniz:

Yol = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör" 'pdf dosyalarının bulunduğu klasör yolu
HedefKlasor = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör\PDF Dosyaları" 'pdf dosyalarının kopyalanacağı klasör yolu
dosya = Dir(Yol & "*.pdf") 'pdf dosyalarının bulunduğu klasördeki ilk pdf dosyasının adı

Set DosyaSistemi = CreateObject("Scripting.FileSystemObject") 'dosya sistemi işlemleri için gerekli nesneyi oluşturma

Do While dosya <> "" 'tüm pdf dosyaları işlene kadar döngüyü sürdür

For X = 1 To Cells(Rows.Count, 2).End(3).Row '2. sütundaki tüm hücreleri dolaşır
'3. parametre olan End(3) metodu, 2. sütunda bulunan son dolu hücrenin satır numarasını verir.
'For X=1'den başlayarak son dolu satıra kadar tüm satırları dolaşır.

Cells(X, 50) = Left(dosya, Len(Cells(X, 2))) 'dosya adından 2. sütundaki değerin uzunluğu kadar sol kısmı alır ve 50. sütuna yazar

If Cells(X, 50) = Cells(X, 2) Then '50. sütundaki değer, 2. sütundaki değere eşitse, dosya kopyalanacak demektir.

yeni_isim = Cells(X, 2).Text & "_" & Cells(X, 1) 'yeni dosya adı, 2. sütundaki değer ve 1. sütundaki değerin birleşiminden oluşur.
'Dosya adı "DEĞER_A" şeklindedir.

DosyaSistemi.CopyFile Yol & dosya, HedefKlasor & yeni_isim & ".pdf" 'dosya kopyalama işlemini gerçekleştirir.

Exit For 'dosya kopyalanmışsa döngüden çıkar. Diğer hücrelerde arama yapmayı durdurur.

End If

Next

dosya = Dir 'bir sonraki pdf dosyasını al

Loop

Range(Cells(1, 50), Cells(65000, 50)).ClearContents '50. sütundaki tüm hücreleri temizler

MsgBox "İşleminiz tamamlanmıştır.", vbInformation 'işlem tamamlandığında kullanıcıya bilgi mesajı verir.
.
Hepsini açıkladım
 

hasanyaprak

Altın Üye
Katılım
9 Aralık 2010
Mesajlar
69
Excel Vers. ve Dili
İş office 2021 / Ev ofis 2016 64 bit
Altın Üyelik Bitiş Tarihi
13-10-2025
C++:
Merhaba,

Aşağıda kodların açıklamalarını bulabilirsiniz:

Yol = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör" 'pdf dosyalarının bulunduğu klasör yolu
HedefKlasor = "C:\Users\HASAN\Desktop\masaüstü\Yeni klasör\PDF Dosyaları" 'pdf dosyalarının kopyalanacağı klasör yolu
dosya = Dir(Yol & "*.pdf") 'pdf dosyalarının bulunduğu klasördeki ilk pdf dosyasının adı

Set DosyaSistemi = CreateObject("Scripting.FileSystemObject") 'dosya sistemi işlemleri için gerekli nesneyi oluşturma

Do While dosya <> "" 'tüm pdf dosyaları işlene kadar döngüyü sürdür

For X = 1 To Cells(Rows.Count, 2).End(3).Row '2. sütundaki tüm hücreleri dolaşır
'3. parametre olan End(3) metodu, 2. sütunda bulunan son dolu hücrenin satır numarasını verir.
'For X=1'den başlayarak son dolu satıra kadar tüm satırları dolaşır.

Cells(X, 50) = Left(dosya, Len(Cells(X, 2))) 'dosya adından 2. sütundaki değerin uzunluğu kadar sol kısmı alır ve 50. sütuna yazar

If Cells(X, 50) = Cells(X, 2) Then '50. sütundaki değer, 2. sütundaki değere eşitse, dosya kopyalanacak demektir.

yeni_isim = Cells(X, 2).Text & "_" & Cells(X, 1) 'yeni dosya adı, 2. sütundaki değer ve 1. sütundaki değerin birleşiminden oluşur.
'Dosya adı "DEĞER_A" şeklindedir.

DosyaSistemi.CopyFile Yol & dosya, HedefKlasor & yeni_isim & ".pdf" 'dosya kopyalama işlemini gerçekleştirir.

Exit For 'dosya kopyalanmışsa döngüden çıkar. Diğer hücrelerde arama yapmayı durdurur.

End If

Next

dosya = Dir 'bir sonraki pdf dosyasını al

Loop

Range(Cells(1, 50), Cells(65000, 50)).ClearContents '50. sütundaki tüm hücreleri temizler

MsgBox "İşleminiz tamamlanmıştır.", vbInformation 'işlem tamamlandığında kullanıcıya bilgi mesajı verir.
.
Hepsini açıkladım

Hocam harikasın. teşekkür ettim.
 
Üst