Ahoj,
snažím se pracovat s makry a VBA v excelu 2010 a nedaří se mi přijít na jednu věc:
jak ve VBA napsat aby určité makro, např. vytvoření grafu z buněk rozsahu B1:D1, toto udělalo na každém listě z dat na daném listě?
Kód jako takový psát neumím - vykrádám různá fóra a stránky, popřípadě nahrávám makra a půjčuji si příkazy zase odtud - prostě se teprve učím.
Toto používám pro vytvoření grafu na aktivním listě:
Sub UdelejGraf()
    ' UdelejGraf Makro
        Range("B1:D1").Select
        ActiveSheet.Shapes.AddChart.Select
        ActiveChart.ChartType = xlColumnClustered
        ActiveChart.SetSourceData Source:=Range("$B$1:$D$2")
End sub
Potřeboval bych docílit toho aby toto provedl na každém listě z dat daného listu - pokud jako rozsah napíši: 
For Each WorkSheet In Worksheets
Range("B1:D1").Select
atd..
udělá mi to graf za každý list na aktivní list z dat aktivního listu - spousta stejných grafů na aktivním listě (počet grafů = počet listů).
hezky prosím - věděl by někdo jak napsat mnou požadované makro resp. rozsah "udělej na každém listě z buněk daného listu"? 
Předem děkuji za odpověď.
Jarda
			
									
									
						VBA Makro - udělej graf na každém listu z dat daného listu Vyřešeno
- 
				cmuch
 - Level 4.5

 - Příspěvky: 1547
 - Registrován: březen 11
 - Bydliště: Drsná Vysočina :D
 - Pohlaví: 

 - Stav:
		Offline
 
Re: VBA Makro - udělej graf na každém listu z dat daného lis
Vítej na PC-Help
Lze třeba takto
			
									
									
						Lze třeba takto
Kód: Vybrat vše
Sub AddChartObjectSheetsWorkbook()
 Dim sh As Worksheet
 For Each sh In Worksheets
    With sh.ChartObjects.Add _
            (Left:=100, Width:=375, Top:=75, Height:=225)
        .Chart.SetSourceData Source:=sh.Range("B1:D2")
        .Chart.ChartType = xlColumnClustered 'xlXYScatterLines
    End With
 Next
    
End SubRe: VBA Makro - udělej graf na každém listu z dat daného lis
Super! děkuji  moc, funguje:-)
Takže pokud to chápu správně určení rozsahu "dělej na všech listech" je opravdu:
For Each sh In Worksheets (chápu i že na začátku byla definovaná zkratka pro Worksheet)
určení použití dat (v tomto případě přidání grafu) daného listu je zřejmě toto: With sh.ChartObjects.Add _ pak následuje definice jak má graf vypadat..
Mám ještě otázku ohledně toho jak určit s čím má na listě pracovat (už jsem zkoušel znásilnit řádek výše ale neúspěšně - neznám použitelné příkazy):
Co kdybych chtěl napsat makro, které na každém listě provede předem stanovenou úpravu - např. vlož řádek mezi první a druhý,následně do buněk (A2,B2,C2) tohoto vloženého řádku napiš vzorce buňkaA2 = B3*C3, buňkaB2 = B3/C3 atd.
Jde mi čistě o to co se ve VBA objeví za řádek místo: "With sh.ChartObjects.Add _ ".
Popř. kde bych se tyto věci mohl dozvědět aniž bych s tím otravoval na forku? je někde nějaká pěkná nápověda/příručka - už jsem trochu googlil ale nic dostatečně jednoduchého jsem nenašel.
			
									
									
						Takže pokud to chápu správně určení rozsahu "dělej na všech listech" je opravdu:
For Each sh In Worksheets (chápu i že na začátku byla definovaná zkratka pro Worksheet)
určení použití dat (v tomto případě přidání grafu) daného listu je zřejmě toto: With sh.ChartObjects.Add _ pak následuje definice jak má graf vypadat..
Mám ještě otázku ohledně toho jak určit s čím má na listě pracovat (už jsem zkoušel znásilnit řádek výše ale neúspěšně - neznám použitelné příkazy):
Co kdybych chtěl napsat makro, které na každém listě provede předem stanovenou úpravu - např. vlož řádek mezi první a druhý,následně do buněk (A2,B2,C2) tohoto vloženého řádku napiš vzorce buňkaA2 = B3*C3, buňkaB2 = B3/C3 atd.
Jde mi čistě o to co se ve VBA objeví za řádek místo: "With sh.ChartObjects.Add _ ".
Popř. kde bych se tyto věci mohl dozvědět aniž bych s tím otravoval na forku? je někde nějaká pěkná nápověda/příručka - už jsem trochu googlil ale nic dostatečně jednoduchého jsem nenašel.
- 
				cmuch
 - Level 4.5

 - Příspěvky: 1547
 - Registrován: březen 11
 - Bydliště: Drsná Vysočina :D
 - Pohlaví: 

 - Stav:
		Offline
 
Re: VBA Makro - udělej graf na každém listu z dat daného lis Vyřešeno
Takže pokud to chápu správně určení rozsahu "dělej na všech listech" je opravdu:
For Each sh In Worksheets (chápu i že na začátku byla definovaná zkratka pro Worksheet)
-Ano
určení použití dat (v tomto případě přidání grafu) daného listu je zřejmě toto: With sh.ChartObjects.Add _ pak následuje definice jak má graf vypadat..
-Ano
Mám ještě otázku ohledně toho jak určit s čím má na listě pracovat (už jsem zkoušel znásilnit řádek výše ale neúspěšně - neznám použitelné příkazy):
Co kdybych chtěl napsat makro, které na každém listě provede předem stanovenou úpravu - např. vlož řádek mezi první a druhý
-
,následně do buněk (A2,B2,C2) tohoto vloženého řádku napiš vzorce buňkaA2 = B3*C3, buňkaB2 = B3/C3 atd.
- zkus použít záznamník a koukni na netu
Popř. kde bych se tyto věci mohl dozvědět aniž bych s tím otravoval na forku? je někde nějaká pěkná nápověda/příručka - už jsem trochu googlil ale nic dostatečně jednoduchého jsem nenašel.
- Koupit nějakou knížku o VBA,
- jinak hledat na netu, popřípadě něco najdeš vysvětlené tu (http://www.excelplus.net, http://office.lasakovi.com/excel/...
			
									
									
						For Each sh In Worksheets (chápu i že na začátku byla definovaná zkratka pro Worksheet)
-Ano
určení použití dat (v tomto případě přidání grafu) daného listu je zřejmě toto: With sh.ChartObjects.Add _ pak následuje definice jak má graf vypadat..
-Ano
Mám ještě otázku ohledně toho jak určit s čím má na listě pracovat (už jsem zkoušel znásilnit řádek výše ale neúspěšně - neznám použitelné příkazy):
Co kdybych chtěl napsat makro, které na každém listě provede předem stanovenou úpravu - např. vlož řádek mezi první a druhý
-
Kód: Vybrat vše
Rows("2:2").Insert Shift:=xlDown,následně do buněk (A2,B2,C2) tohoto vloženého řádku napiš vzorce buňkaA2 = B3*C3, buňkaB2 = B3/C3 atd.
- zkus použít záznamník a koukni na netu
Popř. kde bych se tyto věci mohl dozvědět aniž bych s tím otravoval na forku? je někde nějaká pěkná nápověda/příručka - už jsem trochu googlil ale nic dostatečně jednoduchého jsem nenašel.
- Koupit nějakou knížku o VBA,
- jinak hledat na netu, popřípadě něco najdeš vysvětlené tu (http://www.excelplus.net, http://office.lasakovi.com/excel/...
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů

