Çözüldü Userform içerisinde grafik gösterimi hakkında.

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhabalar,
Daha önceden forumda bulunan gerek örnek dosyalar ve gerekse Sayın Üstad hocalarımızın sayesinde oluşturmuş olduğum çalışma sayfamda bir hususta yardım istemekteyim.
Şöyle ki;
- Çalışma kitabımda bulunan "GRAFIK" sayfası içerisinde 8 adet grafik bulunmakta, (Grafik 1, Grafik 2, Grafik 3,......)
- Bu grafikleri hazırlamış olduğum "Userform11" içerisinde her bir grafik adına tanımlamış olacağım buton ile "Image1" nesnesi içerisinde göstermek istemekteyim.
Örneğin; Userfom11 içerisinde "COTININ" yazan kısma tıkladığımda "Grafik 1" görünsün.
- Bir grafik için kod olur ise ben diğer grafikleri de o koda göre çoğaltabilirim diye düşünüyorum.
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
Excel Vers. ve Dili
Office 2013 İngilizce
Merhabalar,
Daha önceden forumda bulunan gerek örnek dosyalar ve gerekse Sayın Üstad hocalarımızın sayesinde oluşturmuş olduğum çalışma sayfamda bir hususta yardım istemekteyim.
Şöyle ki;
- Çalışma kitabımda bulunan "GRAFIK" sayfası içerisinde 8 adet grafik bulunmakta, (Grafik 1, Grafik 2, Grafik 3,......)
- Bu grafikleri hazırlamış olduğum "Userform11" içerisinde her bir grafik adına tanımlamış olacağım buton ile "Image1" nesnesi içerisinde göstermek istemekteyim.
Örneğin; Userfom11 içerisinde "COTININ" yazan kısma tıkladığımda "Grafik 1" görünsün.
- Bir grafik için kod olur ise ben diğer grafikleri de o koda göre çoğaltabilirim diye düşünüyorum.
Merhaba,
Öncelikle grafikleriniz "Grafik-1", "Grafik-2", "Grafik-3", şeklinde isimlendirmeniz gerekecektir.

ona göre userform içine aşağıdaki kodları kopyalayın


Kod:
Public Sub showChart(s As Integer)

    Dim sTempFile As String
    Dim oChart As Chart


    Me.Image1.Picture = LoadPicture("")
   
    sTempFile = Environ("temp") & "\temp.gif"

    Set oChart = Worksheets("GRAFIK").ChartObjects("Grafik-" & s).Chart

    oChart.Export Filename:=sTempFile, FilterName:="GIF"

    Me.Image1.Picture = LoadPicture(sTempFile)

    Me.Repaint   '<<<<<

    Kill sTempFile

End Sub
Kod:
Private Sub CommandButton21_Click()

    showChart 1
   
End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhaba,
Öncelikle grafikleriniz "Grafik-1", "Grafik-2", "Grafik-3", şeklinde isimlendirmeniz gerekecektir.

ona göre userform içine aşağıdaki kodları kopyalayın


Kod:
Public Sub showChart(s As Integer)

    Dim sTempFile As String
    Dim oChart As Chart


    Me.Image1.Picture = LoadPicture("")
 
    sTempFile = Environ("temp") & "\temp.gif"

    Set oChart = Worksheets("GRAFIK").ChartObjects("Grafik-" & s).Chart

    oChart.Export Filename:=sTempFile, FilterName:="GIF"

    Me.Image1.Picture = LoadPicture(sTempFile)

    Me.Repaint   '<<<<<

    Kill sTempFile

End Sub
Kod:
Private Sub CommandButton21_Click()

    showChart 1
 
End Sub

Sayın Tamer bey,
İlginiz için çok teşekkür ederim. İstediğim şekilde oluyor kesinlikle tüm grafikler içinde kolayca çoğaltabiliyorum kodu.
Saygılarımı sunuyorum, Tamer bey.
 
Son düzenleme:

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
Excel Vers. ve Dili
Office 2013 İngilizce
Sayın Tamer bey,
İlginiz için çok teşekkür ederim. İstediğim şekilde oluyor kesinlikle tüm grafikler içinde kolayca çoğaltabiliyorum kodu.
Yalnız şöyle bir sıkıntı oluyor maalesef:-(
Şöyle ki;
Grafik Image 1 nesnesi içerisine sığmıyor. İstenilen grafik geliyor fakat grafiğin eksen isimleri gelmiyor.:-(
Image1 nesnesinin özelliklerde;
PictureSizeModu "fmPictureSizeModeZoom" olarak ayarlayın yada koda

Me.Image1.PictureSizeMode = fmPictureSizeModeZoom

satırını ekleyin
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Tekrar tekrar teşekkür ederim, Tamer bey. Harika oldu tam istediğim gibi.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhaba,
Öncelikle grafikleriniz "Grafik-1", "Grafik-2", "Grafik-3", şeklinde isimlendirmeniz gerekecektir.

ona göre userform içine aşağıdaki kodları kopyalayın


Kod:
Public Sub showChart(s As Integer)

    Dim sTempFile As String
    Dim oChart As Chart


    Me.Image1.Picture = LoadPicture("")
 
    sTempFile = Environ("temp") & "\temp.gif"

    Set oChart = Worksheets("GRAFIK").ChartObjects("Grafik-" & s).Chart

    oChart.Export Filename:=sTempFile, FilterName:="GIF"

    Me.Image1.Picture = LoadPicture(sTempFile)

    Me.Repaint   '<<<<<

    Kill sTempFile

End Sub
Kod:
Private Sub CommandButton21_Click()

    showChart 1
 
End Sub

Sayın Tamer bey tekrar merhaba,
Oluşturduğunuz kodlar ile deneme çalışmalarım gayet güzel çalıştı. Lakin gerçek verilerim ile çalışmaya başladığımda "grafik göster" butonuna tıklayıp grafiklerimin gösterileceği formu açıp açılmasını istediğim grafik butonuna bastığımda şöyle bir uyarı alıyorum;

253239

Kod içerisinde ise bu kısım sarı renkle gösteriliyor.

253240

Lakin şöyle bir şey yaptığımda hiçbir uyarı vermeden kodlar gayet güzel çalışıyor.
- Bu uyarıyı aldığımda "GRAFIK" sayfasını açıyorum,
- Grafiklerin üzerine tek tek tıklıyorum,
- Sonrasında ise her şey sorunsuz çalışıyor.
- Sayfayı kaydedip kapatıyorum. Yeniden açtığımda yukarıdaki uyarıları yine alıyorum maalesef:-(
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,786
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Alternatif kod dosyada formu aç açılan liste kutusundan ilgili sayfayı seç ve listeden resim seç

Not:
Bu kodlar windows 8.1 ve ofis 2007 de çalışıyor
referanslardan missing yazan yerleri silin ve doğru referansı ekleyiniz.
 

Ekli dosyalar

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
Excel Vers. ve Dili
Office 2013 İngilizce
Sayın Tamer bey tekrar merhaba,
Oluşturduğunuz kodlar ile deneme çalışmalarım gayet güzel çalıştı. Lakin gerçek verilerim ile çalışmaya başladığımda "grafik göster" butonuna tıklayıp grafiklerimin gösterileceği formu açıp açılmasını istediğim grafik butonuna bastığımda şöyle bir uyarı alıyorum;

Ekli dosyayı görüntüle 253239

Kod içerisinde ise bu kısım sarı renkle gösteriliyor.

Ekli dosyayı görüntüle 253240

Lakin şöyle bir şey yaptığımda hiçbir uyarı vermeden kodlar gayet güzel çalışıyor.
- Bu uyarıyı aldığımda "GRAFIK" sayfasını açıyorum,
- Grafiklerin üzerine tek tek tıklıyorum,
- Sonrasında ise her şey sorunsuz çalışıyor.
- Sayfayı kaydedip kapatıyorum. Yeniden açtığımda yukarıdaki uyarıları yine alıyorum maalesef:-(
Resim türü uygun olmadığı için sanırım bu hatayı veriyor. JPEG olmayan bir resim seçiyor olabilirsiniz.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Alternatif kod dosyada formu aç açılan liste kutusundan ilgili sayfayı seç ve listeden resim seç

Not:
Bu kodlar windows 8.1 ve ofis 2007 de çalışıyor
referanslardan missing yazan yerleri silin ve doğru referansı ekleyiniz.
Sayın Halit bey,
İlginiz için çok teşekkür ederim. Emeğinize sağlık alternatif kod ile öneride bulunmuşsunuz. Lakin Sayın Tamer bey'in oluşturmuş olduğu kod daha sade olmuştu ama nedense bahsetmiş olduğum sorunla karşılaştım:-(
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Resim türü uygun olmadığı için sanırım bu hatayı veriyor. JPEG olmayan bir resim seçiyor olabilirsiniz.
Tamer bey merhaba,
Image 1 nesnesi direkt olarak GRAFIK sayfasındaki grafiklerden görüntü alıyor:-(
7 nolu mesajımdaki dosyada bahsetmiş olduğum sorun oluşuyor:-( Nerede yanlış yapıyorum bende inanın anlamaya çalışıyorum.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,039
Excel Vers. ve Dili
Office 2013 İngilizce
Tamer bey merhaba,
Image 1 nesnesi direkt olarak GRAFIK sayfasındaki grafiklerden görüntü alıyor:-(
7 nolu mesajımdaki dosyada bahsetmiş olduğum sorun oluşuyor:-( Nerede yanlış yapıyorum bende inanın anlamaya çalışıyorum.
Hata mesajına bakılırsa "geçersiz resim" mesajı ama;
debug yaparken kontrol edebilirsiniz.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
ANY DESK verirseniz bakabiliriz,
özelden yzabilirsiniz
Tekrar merhaba Tamer bey,
Sorunumu şu şekilde çözmeye çalıştım. Sanırım oldu. Şöyle ki;
Grafikleri göstereceğim formu açtığım kodun hemen önüne aşağıdaki makro4'ü ekledim. Geliştiriciden makro kaydet ile yaptım.:)
Sonrasında Tamer bey sizin kodlarınız gayet güzel çalıştı. Sayayı kaydedip çıktıktan sonra da sorun olmadı. İlginiz, önerileriniz ve çözüm odaklı bakış açınızdan dolayı inanın çok teşekkür ederim. Saygılarımı sunuyorum.

Kod:
Sub Makro4()

    Sheets("GRAFIK").Select
    ActiveSheet.ChartObjects("Grafik-8").Activate
    ActiveSheet.ChartObjects("Grafik-7").Activate
    ActiveSheet.ChartObjects("Grafik-6").Activate
    ActiveSheet.ChartObjects("Grafik-5").Activate
    ActiveSheet.ChartObjects("Grafik-4").Activate
    ActiveSheet.ChartObjects("Grafik-3").Activate
    ActiveSheet.ChartObjects("Grafik-2").Activate
    ActiveSheet.ChartObjects("Grafik-1").Activate
End Sub
 
Üst