Excel-makro pro tvorbu listů
Napsal: 15 říj 2008 18:45
od crazymen
Zdravím,
potřebuji pomoct s makrem na tvorbu listů v sešitu.
Mám první list kde jsou v sloupci A data např. X,Y,Z,2BŽ + další data příslušná k jednotlivým řádkům.
Potřebuji makro které -1.vytvoří listy s názvy X,Y,Z,2BŽ
-2.v jednotlivých listech přiřadí data z řádku do předem daných buňek podle jedné šablony
Úplně je mi jedno jestli se to makro otevře v novém sešitu,ale pro přehlednost by asi byl dobrý stejný.
Hledal jsem to na netu,ale nikde nenašel

Re: Excel-makro pro tvorbu listů
Napsal: 15 říj 2008 18:47
od apurvathea
Re: Excel-makro pro tvorbu listů
Napsal: 15 říj 2008 18:52
od crazymen
Zkus být konkrétnější....

,na stránce už jsem byl a majitel na mail nereaguje

Re: Excel-makro pro tvorbu listů
Napsal: 15 říj 2008 21:07
od mike007
1) Není problém. Mohu vytvořit.
2) podle jaké šablony?
Re: Excel-makro pro tvorbu listů
Napsal: 15 říj 2008 21:41
od mike007
Tady máš makro pro tvorbu těch záložek:
Kód: Vybrat vše
Sub vytvorit_listy()
Dim rozsah As Range, bunka As Range
Dim sesit As Worksheet
Dim start As Worksheet
Dim text As String
Set start = ActiveSheet
start.AutoFilterMode = False
' *** sloupeček s názvy pro listy ***
Set rozsah = Range("A1", Range("A65536").End(xlUp))
Application.DisplayAlerts = False
'*** přidáme si pomocný list ***
Worksheets.Add().Name = "xxx-xxx"
' *** filtrujeme data ***
With Worksheets("xxx-xxx")
rozsah.AdvancedFilter xlFilterCopy, , _
Worksheets("xxx-xxx").Range("A1"), True
'*** vynecháme první buňku, protože v ní bude název sloupce. Pokud ne, nastavit A1 namísto A2 ***
Set rozsah = .Range("A2", .Range("A65536").End(xlUp))
End With
On Error Resume Next
With start
For Each bunka In rozsah
text = bunka
.Range("A1").AutoFilter 1, text
Worksheets(text).Delete
'*** a vyrábíme nové listy ... ***
Worksheets.Add().Name = text
.UsedRange.Copy Destination:=ActiveSheet.Range("A1")
ActiveSheet.Cells.Columns.AutoFit
Next bunka
End With
With start
.AutoFilterMode = False
.Activate
End With
'*** smažeme pomocný list ***
Worksheets("xxx-xxx").Delete
On Error GoTo 0
Application.DisplayAlerts = True
End Sub
V příloze je sešit ve kterém je implementováno makro. Můžeš si vyzkoušet jak to funguje.
Bod číslo 2 si nechám od tebe vysvětlit. Nevím o jakou šablonu se jedná.
Re: Excel-makro pro tvorbu listů
Napsal: 16 říj 2008 08:16
od crazymen

ó díky-Jdu to proklepnout

Re: Excel-makro pro tvorbu listů
Napsal: 16 říj 2008 08:33
od crazymen

sqělý...listy jedou jak po másle.díky Miku Bonde
teď k tomu obsahu,nevím jestli "šablona" je ten správný výraz-potřebuju aby každý z těch nových listů načetl z toho prvního"pomocného" data "(třeba -barva,tvar,velikost,druh-když už jsme u té botaniky

) a umístil je na stejné místo ve všech nových listech - takže vlastně používá název listu jako jednu z proměnných(aspoň si to myslím)

,forma toho listu(rozvržení jednotlivých buněk)by asi bylo nejlepší dát zvlášť jako šablonu pro další případné úpravy(pro představu,těch proměnných bude asi 30-40 a exportují se z databáze).

Re: Excel-makro pro tvorbu listů
Napsal: 16 říj 2008 09:10
od mike007
Takže jestli to chápu dobře, chceš aby se obsah toho základního listu odkud se berou názvy pro nové listy nakopíroval do všech záložek? Bez problémů. Jakmile dorazím z práce ( někdy kolem 21h) tak se na to podívám a pošlu update makra.
Re: Excel-makro pro tvorbu listů Vyřešeno
Napsal: 16 říj 2008 10:03
od crazymen
Nee,dám příklad:
v řádku 2 je název "javor" a za ním v sloupcích 2-D,E,F,G "malý,tenký,žlutý,mokrý",
v řádku 3 je název "dub" a za ním v sloupcích 3-D,E,F,G "velký,tlustý,zelený,suchý"
,prvním makrem se vytvořily listy s názvy javor a dub-teď potřebuju,aby tyto data byly vždy třeba v buňkách D7,E8,F9,G10,takže se jednotlivá data vlastně "seřadí" v listech.
V tomto případě to bude vypadat asi takto,(teček si nevšímej)
list javor :........malý
..........................tenký
................................ žlutý
......................................mokrý
list dub :........velký
..........................tlustý
................................zelený
......................................suchý
a tak dále-vím,že nastavit potom všechna místa a data bude dost zdlouhavé,ale pak už to poběží automaticky.