Next döngüsüyle çoklu dosya taşıma

Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
C:Fotoğraflar\ klasörü içinde her öğrencinin kendi ismi ile isimlendirilmiş fotoğraflar var.
Bu fotoğrafları öğrenciler hangi sınıftaysa o sınıfa ait klasörlerin içine taşımak istiyorum.
Öğrenci isimleri ve hangi sınıfta olduğu ekteki excel listesinde yazılı.
C:Fotoğraflar\5.SINIF
C:Fotoğraflar\6.SINIF
C:Fotoğraflar\7.SINIF
C:Fotoğraflar\8.SINIF
Taşıma işleminin tüm öğrenciler için yapılması için öğrenci ismi ve sınıfını i ve j olarak
tanımlayarak içiçe next döngüsü yapmaya çalıştım ancak kullandığım kod tam çalışmıyor.
sadece 1.sıradaki öğrenciyi taşıyor. diğer öğrencilere geçerken hata veriyor.
Yardımcı olursanız sevinirim
 

Ekli dosyalar

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Merhaba,
İki tane döngüye ihtiyacınız yok.
Yazdığınız kodu şu şekilde düzeltiniz.
PHP:
Sub Dosya_Tasi()

Dim i As Integer
For i = 3 To [A1].Value
ogrenci = Cells(i, 2)
siniflar = Cells(i, 3)

Set fs = CreateObject("Scripting.FileSystemObject")
fs.movefile "C:Fotoğraflar\" & ogrenci & ".JPG",  "C:Fotoğraflar\" & siniflar & "\"

Next i

End Sub
 
Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
run time error 13
type mistmatch hatası alıyorum. niye olaiblir
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Veri tipi uyuşmadığında bu hatayı alırsınız. Mesela integer olarak tanımlanmış bir değişkene string bir değer vermeye çalışırsanız bu hatayı alırsınız.
Dosyanız için mesela A1 hücresinde metin olduğunda bu hatayı alıyor olabilirsiniz.
 
Katılım
18 Ağustos 2009
Mesajlar
199
Excel Vers. ve Dili
Excel 365 - Türkçe
Altın Üyelik Bitiş Tarihi
14/06/2022
evet sorun A1 hücresindeymiş. çok teşekkür ederim
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Rica ederim,
İlave olarak; son dolu hücreye kadar otomatik döngü kurmak isteserseniz kodunuzu For i = 3 To Cells(Rows.Count, "A").End(3).Row şeklinde düzenleyebilirsiniz.
İyi çalışmalar...
 
Üst