• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Image1 resim ekleme

  • Konbuyu başlatan Konbuyu başlatan enegen
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Ocak 2009
Mesajlar
60
Excel Vers. ve Dili
excel 2003
türkçe
Değerli arkadaşlar
Öğrenci programı yapıyorum. Sayfama 1 tane image1 ekledim. Açılan kutudan öğrencinin ismini seçince resminin image1 e gelmesini istiyorum. Açılan kutudan öğrenci ismini seçince M1 hücresine öğrencinin numarasını yazıyor. Bende resimleri bir klasöre öğrenci numaraları ile kaydettim.
Yani image1 e atanacak resim m1 hücresindeki öğrenci numarasına bakılarak dosyadan atansın istiyorum.
Yardımlarınız için şimdiden teşekkürler.
 
bir deneme dosyası ekledim. seçtiğim ismin numarası m1 hücresinde yazıyor. m1 deki numaraya göre image1 e resim çağırmak istiyorum.
 

Ekli dosyalar

bir deneme dosyası ekledim. seçtiğim ismin numarası m1 hücresinde yazıyor. m1 deki numaraya göre image1 e resim çağırmak istiyorum.
 

Ekli dosyalar

Oradaki örnekleri incelemiştim 3 numaralı örnek benim istediğime biraz uyuyor fakat ben formülünü uyduramadım m1 hücredeki numaraya göre dosyadan bir türlü çağıramadım. O yüzden bu bölümü açtım.
 
bir deneme dosyası ekledim. seçtiğim ismin numarası m1 hücresinde yazıyor. m1 deki numaraya göre image1 e resim çağırmak istiyorum.

Alternarif olarak bunu denermisiniz 10 adet uzantılı resimleri gösteriyor.

Kod:
Sub RESİMLERİBUL()
Hedef = ThisWorkbook.Path & "\resim\"
Sheets(ActiveSheet.Name).Image1.Picture = LoadPicture(None)
For i = 1 To 10
ver = Sheets(ActiveSheet.Name).Cells(1, "M").Value
resimyükle = Hedef & ver & "." & resimuzantısı(Val(i))
Set fs = Application.FileSearch
With fs
.LookIn = Hedef
.SearchSubFolders = True
.Filename = ver & "." & resimuzantısı(Val(i))
If .Execute() > 0 Then
On Error Resume Next
On Error GoTo atla1
Sheets(ActiveSheet.Name).Image1.Picture = LoadPicture(resimyükle)
Exit Sub
atla1:
Exit Sub
MsgBox "dosyamız bulundu"
Else
End If
End With
Next i
End Sub
Function resimuzantısı(Sayi#)
Dim yazi As String
Dim b As Integer
ReDim birler$(5000), onlar$(1), basamak$(5)
  
birler$(1) = "bmp":        birler$(2) = "jpg"
birler$(3) = "gif":        birler$(4) = "pcx"
birler$(5) = "tga":        birler$(6) = "xls"
birler$(7) = "abm":        birler$(7) = "avi"
birler$(8) = "exe":        birler$(9) = "doc"
GoSub cevir
resimuzantısı = birler$(Sayi) 'cevap
If Sayi = 0 Then
resimuzantısı = "jpg"
End If
Exit Function
cevir:
cevap = birler$(Sayi)
Return
End Function
 
Öncelikle yardımlarınız için teşekkürler.
Kod' u denedim fakat çalışmadı.
 
Image1.Picture = LoadPicture(['FORM'!h30]) ile h30 hücresine resim getiriyorum. H30 hücresine resim yolu c:\foto\1.jpg şeklinde otomatik geliyor. başka hücreye değer girdiğimde c:\foto\2.jpg c:\foto\3.jpg gibi otomatik değişiyor h30 hücresi.

h30 hücresi c:\foto\4.jpg olduğunda , c:\foto\ dizininde 4.jpg resimi olmadığı zaman runtime error 53 hatası veriyor. resim bulamadığında bu hatayı önlemek için bulamadığı resim yerine dizine hata.jpg diye bir resim koysak o resmin otomatik gelmesini nasıl sağlayabiliriz.
 
Geri
Üst