for next ile image ekleme

Katılım
8 Haziran 2007
Mesajlar
24
Excel Vers. ve Dili
4
Image2.Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & [SAYFA2!E2] & ".jpg")


yukarıdaki kodlardan 50 tanesini 1 den başlayarak alt alta yazdım...biraz acemi işi oldu, bu işlemi for next ile nasıl yaparım?
mesela

for i= 1 to 50
Image(i).Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & [SAYFA2!E(i)] & ".jpg")
next

diye yazdım ama hata veriyor bu i değişkenini nasıl kullarım...şimdiden teşekkürler..
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Kodunuzu aşağıdaki gibi revize ediniz.

Kod:
    Dim i As Integer
    On Error Resume Next
    For i = 1 To 3
        With Sheets("Sayfa2").OLEObjects("Image" & i).Object
            .Picture = LoadPicture("c:\" & Range("E" & i + 1) & ".jpg")
            If Err.Number <> 0 Then
[COLOR=darkgreen]                'Resim yoksa ben image resmini boşalttım,
                'ama siz isterseniz aşağıdaki satıra
                'hata.jpg'nin yolunu yazarak
                '-loadpicture("c:\hata.jpg") gibi-
                'bunun görüntülenmesini sağlayabilirsiniz
[/COLOR]                .Picture = LoadPicture()
            End If
            Err.Number = 0
        End With
    Next
 
Katılım
8 Haziran 2007
Mesajlar
24
Excel Vers. ve Dili
4
t&#351;k fakat resimleri alamad&#305;, sayfa2 deki E s&#252;tunundan alacak, be kodu &#351;&#246;yle yazd&#305;m yine de olmad&#305;;

Private Sub CommandButton1_Click()
Dim i As Integer
On Error Resume Next
For i = 0 To 34
With Sheets("Sayfa2").OLEObjects("Image" & i).Object
.Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & Sheets("Sayfa2").Range("E" & i + 1) & ".jpg")
If Err.Number <> 0 Then
'Resim yoksa ben image resmini bo&#351;altt&#305;m,
'ama siz isterseniz a&#351;a&#287;&#305;daki sat&#305;ra
'hata.jpg'nin yolunu yazarak
'-loadpicture("c:\hata.jpg") gibi-
'bunun g&#246;r&#252;nt&#252;lenmesini sa&#287;layabilirsiniz
.Picture = LoadPicture()
End If
Err.Number = 0
End With
Next

End Sub
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sorular :

1. Neden d&#246;ng&#252;y&#252; 0'dan ba&#351;latt&#305;n&#305;z?
2. Sizin, &#231;al&#305;&#351;ma sayfan&#305;zda; 35 tane IMAGE nesnesi ve E s&#252;tununda 35 tane alta alta yaz&#305;lm&#305;&#351; dosya isimleri mi var?
3. Kulland&#305;&#287;&#305;n&#305;z nesne, ger&#231;ekten Microsoft FORMS kolleksiyonundaki IMAGE nesnesi mi?
4. OkulFoto_notdefteri dizinin alt&#305;nda foto&#287;raf var m&#305;?
5. OkulFoto_notdefteri dizini alt&#305;ndaki fotolar; jpg format&#305;nda m&#305;?

M&#252;mk&#252;nse &#246;rnek bir dosya ekleyiniz.
 
Katılım
8 Haziran 2007
Mesajlar
24
Excel Vers. ve Dili
4
sayfa 2 de e s&#252;tununda 35 tane isim var ve bu isimlerle ba&#351;layan resimler jpg format&#305;nda ilgili klas&#246;rde var olmayanlar i&#231;inde hata.jpg var. foto&#287;raflar eklendi&#287;inden dosya 30mb boyutuna geldi . g&#246;nderemiyorum ama sadele&#351;tirmeye &#231;al&#305;&#351;ay&#305;m. daha &#246;nce yazd&#305;&#287;&#305;m kodlar alt alta &#351;&#246;yleydi ve &#231;al&#305;&#351;&#305;yordu;

Image1.Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & [SAYFA2!E1] & ".jpg")

ilginiz i&#231;in te&#351;ekk&#252;rler.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Kodlardaki On Error Resume Next sat&#305;r&#305;n&#305; ge&#231;ici olarak silin ve kar&#351;&#305;n&#305;za &#231;&#305;kan hata mesaj&#305;n&#305; birebir buraya yaz&#305;n.
 
Katılım
8 Haziran 2007
Mesajlar
24
Excel Vers. ve Dili
4
benim tahminim resimleri alacağım yeri gösteremedim; kodları sayfa1 de yazıyorum ama liste sayfa2 olduğundan
Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & SAYFA2Eİ& ".jpg")
kısmını halledemedim.

With Sheets("Sayfa1").OLEObjects("Image" & i).Object

yazdım ama çalışmadı
 
Son düzenleme:
Katılım
8 Haziran 2007
Mesajlar
24
Excel Vers. ve Dili
4
te&#351;ekk&#252;rler, kodlarla oynarken &#231;al&#305;&#351;t&#305; &#351;&#246;yle olacakm&#305;&#351;;

Private Sub CommandButton1_Click()
Dim i As Integer
On Error Resume Next
For i = 0 To 35
With Sheets("Sayfa1").OLEObjects("Image" & i).Object
.Picture = LoadPicture("c:\OKULFOTO_notdefteri\" & Sheets("sayfa2").Cells(i, "e") & ".jpg")
If Err.Number <> 0 Then
'Resim yoksa ben image resmini bo&#351;altt&#305;m,
'ama siz isterseniz a&#351;a&#287;&#305;daki sat&#305;ra
'hata.jpg'nin yolunu yazarak
'-loadpicture("c:\hata.jpg") gibi-
'bunun g&#246;r&#252;nt&#252;lenmesini sa&#287;layabilirsiniz
.Picture = LoadPicture("c:\OKULFOTO_notdefteri\hata.jpg")
End If
Err.Number = 0
End With
Next

End Sub
 
Üst