Makro ile grafik çizmek

Katılım
2 Aralık 2005
Mesajlar
10
Merhaba,
Excel de makro ile 50 kadar grafiği otomatik olarak çizmek istiyorum, bu konuda daha önce çalışma yapan oldu mu? Ban fikir verebilir mi?
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,

Daha önce bu şekilde bir çalışmam olmadı ama grafik verilerinin alındığı yerleri for..next döngüsü içine oturtabilirseniz dediğiniz kolay olur.MEsela;

Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:="3-B Sütun"
ActiveChart.SetSourceData Source:=Sheets("Sayfa1").Range("A1")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = Sheets("Sayfa1").Cells(ii, i)

ActiveChart.SeriesCollection(1).Values = Sheets("Sayfa1").Cells(i, ii)
ActiveChart.SeriesCollection(1).Name = "=""Grafik1"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Grafik1"
End With

burada i ve ii değerlerinin nasıl alınacağını bilmediğim için bir döngü oluşturmadım ama siz biraz düşünerek bunu yapabilirsiniz.Hatta her biri için yeni sayfa adı oluşturabilirsiniz ve sayfa isimlerini "Grafik" & i olarak atarsanız her grafiğin kendi adını taşıyan bir sayfası olur.
 
Katılım
2 Aralık 2005
Mesajlar
10
Verdiğin bilgi için teşekkür ederim, fakat ben her grafiği farklı sayfa da istemiyorum, bir sayfaya 5 tane grafik koymak istiyorum. Aşağıdaki komutlarla örnek bişeyler yaptım fakat ikinci grafiği çizmede sorun yaratıyor, grafikleri üstüste bindiriyor.

Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sayfa1").Range("B4:E4"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa2"
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
ActiveSheet.Shapes("Grafik 1").IncrementLeft -138#
ActiveSheet.Shapes("Grafik 1").IncrementTop -65.25
Windows("xxx.xls").SmallScroll Down:=9
ActiveWindow.Visible = False
Windows("xxx.xls").Activate
Range("B20").Select
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sayfa1").Range("B5:E5"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sayfa2"
ActiveChart.HasLegend = True
ActiveChart.Legend.Select
Selection.Position = xlRight
ActiveSheet.Shapes("Grafik 2").IncrementLeft -136.5
ActiveSheet.Shapes("Grafik 2").IncrementTop 52.5
End Sub
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Değerli Arkadaslar,

Yapmak İsteyipte yapamadıgım bir konu uzerınde Acıklama Yapmısınız Formu Gezerken Dikkatimi Çekti Elimde Bir ornek var.
Çalışma Durumları İçin Geçerli.

Burada Kişi bazlı Yurutulen İşlerdeki Sonuclandırma ile ilgili Kişi Bazlı Grafik Yapılabilirmi Eğer Bole Bir İmkan varsa İlgilenirseniz Çok Teşekkur Ederi.

Not Acılan Her Sayfa(A Kolonunda Kişilere Göre Acılması Sağlanabilirmi)

Saygılar.

Dosyayı Ekliyorum.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Değerli Arkadaslar hafta sonunuzu bana ayırın demiyorum ama gondermiş olduğum dosyada yardım aıhtıyacım var yapılması ımkanı varmı yoksa bole bır sey ıstemek biraz UCMAK mıdır.
Saygılar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki örneği inceleyin.
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
cok güzel ama bunu kodlarla for next dongusu ıle ısımler adı altında sayfa acarak yapabilirmiyiz
Sn Leventm.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki dosyayı inceleyin. Ayrıca birde progressbar ekledim.
 

Ekli dosyalar

Son düzenleme:
Katılım
26 Mayıs 2005
Mesajlar
122
Excel Vers. ve Dili
excel 2003- ingilizce
Siz muhteşemsiniz Sn.Leventm.Bu benimde çok işime yarayacak. :mutlu:
 

bluefalcon

Altın Üye
Altın Üye
Katılım
22 Aralık 2005
Mesajlar
418
Excel Vers. ve Dili
Microsoft 365
Altın Üyelik Bitiş Tarihi
03.12.2025
evet gerçekten paylaşır mısınız?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Tüm dosyalar yerlerine eklenmiştir.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,417
Excel Vers. ve Dili
excel 2010
merhaba
bu örnek dosya benim çok işime yarayacak, teşekkürler syn leventm.
ancak bir sorun var. dosyayı tam inceleyemedim ama aktar butonuna basınca aktarma işlemi 12 dakika sürdü, bu normal mi? benim makinem bu kadar yavaş olamaz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
merhaba
bu örnek dosya benim çok işime yarayacak, teşekkürler syn leventm.
ancak bir sorun var. dosyayı tam inceleyemedim ama aktar butonuna basınca aktarma işlemi 12 dakika sürdü, bu normal mi? benim makinem bu kadar yavaş olamaz.
Kod uzun işlemler yaptığından süre biraz uzuyor ancak 12 dk anormal bir süre, bende 1,5 dk kadar sürdü. Birara kodu nasıl hızlandırabilirim diye üzerinde çalışırım.
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
hocam bende 1 dk. sürdü
 

kpolat

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
20
Excel Vers. ve Dili
(excel-2007 Türkçe)
Altın Üyelik Bitiş Tarihi
06-11-2024
Hocam; her zamanki gibi süpersiniz. Elinize, aklınıza, yüreğinize sağlık.
 
Üst