živjo,
v excelu imam med drugim stolpce ime - mesto - telefon - fax - itd, vsega skupaj okoli 1.000 vrstic.
ko se postavim npr, v 10 vrstico, želim natisniti na nov prazen list papirja, le podatka ime - mesto, font size 20 in bold, vse skupaj bo služilo kot naslov ali platnica za dokumente, ki se nanašajo na to ''ime-mesto''.
enako naj se zgodi, ko se postavim na katerokoli vrstico.
makro? vba programiranje? vsaka pomoč, ideja, rešitev bo pomagala!
hvala
Izpis dveh celic kot list za platnice
Pozdravljeni,
Točno to kar želite je dokaj lahko narediti, toda takoj ko bi vam napisal kodo bi napisali, da tega niste želeli! Ne vrjamente? No pravite, da bi ob vsaki spremembi vrstice izpisali list... to pomeni, da bi vam iz tiskalnika bruhali listi kot nori... za vsako spremembo.
Mnogo bolje je, da narediva vse tako kot ste si zamislili, samo lista ne izpiševa avtomatično, temveč ga boste izpisali ko ga boste želeli.
OK. Vse kar je potrebno narediti je, da se ob vsaki spremembi na listu 1 neki celici (recimo iz kolone D in F) prepišeta na list 2 v celici npr A1 in A3. Za izvedbo tega morava napisati makro kot odziv na dogodek SelectionChange lista1.
To je vse! Ob vsaki spremembi na listu 1 se bosta ustrezna podatka iz kolon D in F prepisala na list 2. Vi še morate samo ustrezno oblikovati list2 in to je to. Stvar pa izpišete ko vam ustreza.
Točno to kar želite je dokaj lahko narediti, toda takoj ko bi vam napisal kodo bi napisali, da tega niste želeli! Ne vrjamente? No pravite, da bi ob vsaki spremembi vrstice izpisali list... to pomeni, da bi vam iz tiskalnika bruhali listi kot nori... za vsako spremembo.
Mnogo bolje je, da narediva vse tako kot ste si zamislili, samo lista ne izpiševa avtomatično, temveč ga boste izpisali ko ga boste želeli.
OK. Vse kar je potrebno narediti je, da se ob vsaki spremembi na listu 1 neki celici (recimo iz kolone D in F) prepišeta na list 2 v celici npr A1 in A3. Za izvedbo tega morava napisati makro kot odziv na dogodek SelectionChange lista1.
Koda: Izberi vse
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim vrstica As Long
vrstica = Target.Row
Worksheets("List2").Range("A1").Value = Worksheets("List1").Cells(vrstica, 4).Value
Worksheets("List2").Range("A3").Value = Worksheets("List1").Cells(vrstica, 6).Value
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator
ola,
hvala, a vse kaže, da nisem bil dovolj natančen.
najprej nekaj podatkov za vzorec. vseh kolon je okoli 20, vrstic pa okoli 1.000.
list1 vsebuje podatke:
sledi zagon makroja, ki ga še ni in upam, da morda bo
list2 vsebuje font20 + bold in sicer npr. v celici D6 vsebino celice A2, v tem primeru ime2, v celici D8 pa vsebino B2, to je mesto2.
vsebino A2 in B2 zato, ker je kurzor na celici A2 lista1.
D6 in D8 pa zato, da vse to pride pri izpisu na sredino papirja.
sledi klik po ikoni printer, exit excel in fertig delo.
pri naslednem delu s tem xls se lahko katerikoli podatki popravijo, brišejo, doda nova vrstica, briše neka stara itd.
kurzor postavim na celico A5, zagon makroja, ki prenese oba podatka ime5 in mesto5 na list2 v celici D6 in D8, vse kakor zgoraj, ikona printer, postavim se na celico A123, makro, printer itd.
jasno mi je, da isto dosežemo s kopi-paste iz lista1 v list2, ampak uporabnik je komot. zakaj ne, če ne zahteva preveč truda in dela.
hvala, a vse kaže, da nisem bil dovolj natančen.
najprej nekaj podatkov za vzorec. vseh kolon je okoli 20, vrstic pa okoli 1.000.
list1 vsebuje podatke:
Koda: Izberi vse
A B C D E F itd
ime1 mesto1 bla bla bla bla itd.
ime2 mesto2 bla bla bla bla itd.
ime3 mesto3 bla bla bla bla itd.
ime4 mesto4 bla bla bla bla itd.
ime5 mesto5 bla bla bla bla itd.
ime6 mesto6 bla bla bla bla itd.
itd. itd.
list2 vsebuje font20 + bold in sicer npr. v celici D6 vsebino celice A2, v tem primeru ime2, v celici D8 pa vsebino B2, to je mesto2.
vsebino A2 in B2 zato, ker je kurzor na celici A2 lista1.
D6 in D8 pa zato, da vse to pride pri izpisu na sredino papirja.
sledi klik po ikoni printer, exit excel in fertig delo.
pri naslednem delu s tem xls se lahko katerikoli podatki popravijo, brišejo, doda nova vrstica, briše neka stara itd.
kurzor postavim na celico A5, zagon makroja, ki prenese oba podatka ime5 in mesto5 na list2 v celici D6 in D8, vse kakor zgoraj, ikona printer, postavim se na celico A123, makro, printer itd.
jasno mi je, da isto dosežemo s kopi-paste iz lista1 v list2, ampak uporabnik je komot. zakaj ne, če ne zahteva preveč truda in dela.
Pozdravljeni,
solata napisal/-a: sledi zagon makroja, ki ga še ni in upam, da morda bo...
Pa ste vi sploh prebrali/preizkusil kaj sem vam napisal. Saj imate natanko to kar želite že odgovorjeno in napisano. Imate celo bolje, saj makra sploh ni potrebno zaganjati!!!! Izvede se avtomatično ob spremembi vrstice na listu1.
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator