Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 03-11-2013, 16:11   #1
vahapdogan
 
Giriş: 01/04/2006
Mesaj: 77
Varsayılan Resimler ve Döngü

Arkadaş bu ilk sorum olacak sizlere belki sizler için çok kolay olabilir fakat ben bayağı uğraşmama rağmen yapamadım.
Excel sayfamda 33 tane resim var ve bu resim yandaki hücrenin değerine göre değişiyor.

Sayfa3.Image1.Picture = LoadPicture("c:\res\star2.jpg")
Case 30 To 39
Sayfa3.Image1.Picture = LoadPicture("c:\res\star3.jpg")
Case 40 To 49

Yukarıdaki kodu yazdığımda gayet düzgün çalışıyor fakat bu kez image1 image2...... image3 için ayrı ayrı bu şartları tekrar yazmam gerekiyor. Bunu daha kısa bir kodla halledebilirmiyiz
for i = 1 to 33
i=i+1
Sayfa3.Image&i.Picture = LoadPicture("c:\res\star2.jpg")
şeklinde yazdığım kod çalışmadı
Özetlersek image1 image2 isimlerinden sonra gelen 1 ve 2 adlarını otomatik olarak arttırabilirmiyiz.
umarım anlatabilmişimdir. Çözecek olana şimdiden teşekkürler
vahapdogan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-11-2013, 19:07   #2
Levent Menteşoğlu
Administrator
 
Levent Menteşoğlu kullanıcısının avatarı
 
Giriş: 13/10/2004
Şehir: Çorlu
Mesaj: 15,896
Excel Vers. ve Dili:
Excel 2010-Türkçe
Varsayılan

Aşağıdaki gibi deneyin.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
for i=1 to 33
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star" & i & ".jpg")
next
__________________
FORUM KURALLARI



"Biz burada hep beraber, sevginin,saygının, alınterinin, mutluluğun makrosunu yazıyoruz. " Kaylan
Levent Menteşoğlu Çevrimdışı   Alıntı Yaparak Cevapla
Eski 03-11-2013, 21:34   #3
vahapdogan
 
Giriş: 01/04/2006
Mesaj: 77
Varsayılan

Alıntı:
Levent Menteşoğlu tarafından gönderildi Mesajı Görüntüle
Aşağıdaki gibi deneyin.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
for i=1 to 33
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star" & i & ".jpg")
next
Teşekkürler çalıştı şimdi kendi koduma uygulamaya çalışıyorum. Bu kadar hızlı cevap beklemiyordum, süpriz oldu
vahapdogan Çevrimdışı   Alıntı Yaparak Cevapla
Eski 05-11-2013, 03:45   #4
vahapdogan
 
Giriş: 01/04/2006
Mesaj: 77
Varsayılan

Dim say As Integer
Dim mevcut As Integer
Dim i As Integer
Dim k As String
Dim s As Integer
say = 2
i = 0
mevcut = WorksheetFunction.CountA(Range("b2:b100")) + 1
For say = say To mevcut
i = i + 1
Select Case Sayfa3.Range("g" & say).Value
Case 10 To 19
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star1.jpg")

Case 20 To 35
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star2.jpg")

Case 36 To 56
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star3.jpg")
Case 57 To 82
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star4.jpg")

Case 83 To 113
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star5.jpg")

Case 114 To 130
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star70.jpg")

Case 131 To 150
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star90.jpg")

Case 151 To 170
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star110.jpg")

Case 171 To 190
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star130.jpg")

Case 191 To 210
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star150.jpg")

Case 211 To 230
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star190.jpg")

Case 231 To 260
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star230.jpg")

Case 261 To 290
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star270.jpg")

Case 291 To 320
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star310.jpg")


Case Is > 321
Sayfa3.Shapes("Image" & i).OLEFormat.Object.Object.Picture = LoadPicture("c:\res\star350.jpg")



End Select
Next
şeklinde dediğiniz gibi düzelttim fakat bu kez de kod bazen çalışıp bazen çalışmıyor
vahapdogan Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 02:23


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım - Tarot Falı - invest in turkey - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Led Aydınlatma- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Boru Profil- Gebze Emlak- Beylikdüzü Temizlik- İstanbul Burun Estetiği- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Palet- Çerkezköy Palet- Çorlu Prefabrik- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden