brucháč
21.04.10,16:29
Ahojte poraďáci
Dilema č 1.:vie mi niekto poradiť , ako zrýchliť prácu pri zadávaní údajov do tabuliek Excelu?
Napr.:riadok1 stl A = číslo vozidla, do stl B potrebujem aby zadal text automaticky(tatra sklapač),do stl.C vodič alebo závozník, do stl.D potrebujem aby zadal automaticky číslo(mzdovú tarifu) podľa toho či sa jedná o vodiča alebo závozníka
Dilema č 2.:pri práci často potrebujem skopírovať hárok , používam postup: úpravy,premiest.al.skop.hárok ďalej vytvoriť kopiu , presunúť na koniec.
No keď to potrebujem skopírovať dvadsaťkrát , aby som ich mohol potom postupne upravovať , tak ďakujem pekne . Poradí mi niekto nejaké makro pomocou , ktorého sa to dá urobiť naraz?
ĎK
Dilema č 1.:vie mi niekto poradiť , ako zrýchliť prácu pri zadávaní údajov do tabuliek Excelu?
Napr.:riadok1 stl A = číslo vozidla, do stl B potrebujem aby zadal text automaticky(tatra sklapač),do stl.C vodič alebo závozník, do stl.D potrebujem aby zadal automaticky číslo(mzdovú tarifu) podľa toho či sa jedná o vodiča alebo závozníka
Dilema č 2.:pri práci často potrebujem skopírovať hárok , používam postup: úpravy,premiest.al.skop.hárok ďalej vytvoriť kopiu , presunúť na koniec.
No keď to potrebujem skopírovať dvadsaťkrát , aby som ich mohol potom postupne upravovať , tak ďakujem pekne . Poradí mi niekto nejaké makro pomocou , ktorého sa to dá urobiť naraz?
ĎK
sthruska
22.04.10,04:46
//pri práci často potrebujem skopírovať hárok
Použi techniku "ťahaj a pusť". Hárok môžeš pustiť
1) v rámci zošita (súboru) - skopíruje sa
2) v inom zošite pridá sa ako nový
3) na pracovnú plochu - vytvorí sa nový zošit
Poradie hárkov sa mení ťahaním. Môžeš kopírovať aj niekoľko hárkov naraz. To znamená:
skopírujem prvý hárok
skopírujem prvý + nový hárok atď.
Dilema č. 1 konkrétne neporadím (už v exceli veľmi nepracujem) ale riešil som to pomocou rozbaľovacích zoznamov a VBA.
Použi techniku "ťahaj a pusť". Hárok môžeš pustiť
1) v rámci zošita (súboru) - skopíruje sa
2) v inom zošite pridá sa ako nový
3) na pracovnú plochu - vytvorí sa nový zošit
Poradie hárkov sa mení ťahaním. Môžeš kopírovať aj niekoľko hárkov naraz. To znamená:
skopírujem prvý hárok
skopírujem prvý + nový hárok atď.
Dilema č. 1 konkrétne neporadím (už v exceli veľmi nepracujem) ale riešil som to pomocou rozbaľovacích zoznamov a VBA.
PaloPa
22.04.10,09:02
Ad D1)
Asi ti viacero ľudí poradí, ako to poriešiť fukciami Excelu.
Ak potrebuješ riešenie, kedy ti Excel ponúkne predvolenú hodnotu, ale potom ju môžeš prepísať, pripájam riešenie tvojho problému cez makrá.
Je použitá funkcia Worksheet_Change nad listom „Vstupy“.
Ak zadáš hodnotu v rámci stĺpcov „číslo vozidla“ a „Vodič / Závozník“ (v rozsahu orámovaných buniek), prehľadajú sa číselníky (listy „Vozidla“ a „Tarifa“).
Program testuje či boli zadané údaje v pomenovanej oblasti „Vstup_TypVoz“ (C4:C12) alebo „Vstup_VodZav“ (E4:E12)
Ad D2)
"Všemocné" pravé tl. myši. Netreba ísť cez hl. ponuku , stačí kliknúť pravým tl. na záložke hárku a vybrať "premiestniť alebo skopírovať ..."
Pomocou makra:
Kópia listu tretieho v poradí na koniec, dá sa takto:
Sub KopirujList()
Sheets(3).Select ' "Tretí_List"
Sheets(3).Copy After:=Sheets(Sheets.Count)
End Sub
Už sa to tu riešilo:
http://www.porada.sk/t110831-pomoc-s-makrom.html
Palo
Doplnenie:
Ak uprednostníš jednoduchšiu verziu, bez číselníkov a pomenovaných oblastí,
môžeš použiť tento kód, ktorý si ľahko sám upravíš
(viď _ver2.xls)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v As String
On Error GoTo xErr
If Target.Column = Columns("C").Column Then
Select Case Target.Value
Case 1
v = "tatra sklápač"
Case 2
v = "valník"
End Select
Target.Offset(, 1).Value = v
ElseIf Target.Column = Columns("E").Column Then
Select Case UCase(Target.Value)
Case "V", "VODIČ"
v = "10"
Case "Z", "ZÁVOZNÍK"
v = "12"
End Select
Target.Offset(, 1).Value = v
End If
xErr:
End Sub
Asi ti viacero ľudí poradí, ako to poriešiť fukciami Excelu.
Ak potrebuješ riešenie, kedy ti Excel ponúkne predvolenú hodnotu, ale potom ju môžeš prepísať, pripájam riešenie tvojho problému cez makrá.
Je použitá funkcia Worksheet_Change nad listom „Vstupy“.
Ak zadáš hodnotu v rámci stĺpcov „číslo vozidla“ a „Vodič / Závozník“ (v rozsahu orámovaných buniek), prehľadajú sa číselníky (listy „Vozidla“ a „Tarifa“).
Program testuje či boli zadané údaje v pomenovanej oblasti „Vstup_TypVoz“ (C4:C12) alebo „Vstup_VodZav“ (E4:E12)
Ad D2)
"Všemocné" pravé tl. myši. Netreba ísť cez hl. ponuku , stačí kliknúť pravým tl. na záložke hárku a vybrať "premiestniť alebo skopírovať ..."
Pomocou makra:
Kópia listu tretieho v poradí na koniec, dá sa takto:
Sub KopirujList()
Sheets(3).Select ' "Tretí_List"
Sheets(3).Copy After:=Sheets(Sheets.Count)
End Sub
Už sa to tu riešilo:
http://www.porada.sk/t110831-pomoc-s-makrom.html
Palo
Doplnenie:
Ak uprednostníš jednoduchšiu verziu, bez číselníkov a pomenovaných oblastí,
môžeš použiť tento kód, ktorý si ľahko sám upravíš
(viď _ver2.xls)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim v As String
On Error GoTo xErr
If Target.Column = Columns("C").Column Then
Select Case Target.Value
Case 1
v = "tatra sklápač"
Case 2
v = "valník"
End Select
Target.Offset(, 1).Value = v
ElseIf Target.Column = Columns("E").Column Then
Select Case UCase(Target.Value)
Case "V", "VODIČ"
v = "10"
Case "Z", "ZÁVOZNÍK"
v = "12"
End Select
Target.Offset(, 1).Value = v
End If
xErr:
End Sub
radioblaster
22.04.10,18:03
trocha sa sem votriem...
a vedel by si to upravit tak, aby ked stlacim "Z" tak sa mi tam vlozi "Ready to test from >datum kedy som to tam vlozil<" ??
a vedel by si to upravit tak, aby ked stlacim "Z" tak sa mi tam vlozi "Ready to test from >datum kedy som to tam vlozil<" ??
Stefan2005
22.04.10,18:42
potrebujem skopírovať hárok dvadsaťkrát...
... Možná to nie je ono čo chces, ja si zvyknem si pomôct zvýraznením hárkov - teda ich hromadným kopírovaním.
Napr. mám 5 hárkov, potrebujem z nich dvadsať. Označím všetkých 5 - pravé tlačítko vytvoriť kópiu - z 5 urobí 10; označím všetkých desať - pravé tlačítko vytvoriť kópiu - a mám dvadsať hárkov. Už iba ich premenovať...
... Možná to nie je ono čo chces, ja si zvyknem si pomôct zvýraznením hárkov - teda ich hromadným kopírovaním.
Napr. mám 5 hárkov, potrebujem z nich dvadsať. Označím všetkých 5 - pravé tlačítko vytvoriť kópiu - z 5 urobí 10; označím všetkých desať - pravé tlačítko vytvoriť kópiu - a mám dvadsať hárkov. Už iba ich premenovať...
PaloPa
23.04.10,05:41
... Možná to nie je ono čo chces, ja si zvyknem si pomôct zvýraznením hárkov - teda ich hromadným kopírovaním.
Napr. mám 5 hárkov, potrebujem z nich dvadsať. Označím všetkých 5 - pravé tlačítko vytvoriť kópiu - z 5 urobí 10; označím všetkých desať - pravé tlačítko vytvoriť kópiu - a mám dvadsať hárkov. Už iba ich premenovať...
Dá sa napr. takýmto makrom (i s pomenovaním)
P.
Sub PridajList()
Dim xPocetListov, i
On Error Resume Next
xPocetNovychListov = InputBox("Zadajte počet nových listov:", "VSTUP", 1)
If IsNumeric(xPocetNovychListov) And xPocetNovychListov > 0 Then
For i = 1 To xPocetNovychListov
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Novy_" & CStr(i)
Next i
End If
End Sub
Napr. mám 5 hárkov, potrebujem z nich dvadsať. Označím všetkých 5 - pravé tlačítko vytvoriť kópiu - z 5 urobí 10; označím všetkých desať - pravé tlačítko vytvoriť kópiu - a mám dvadsať hárkov. Už iba ich premenovať...
Dá sa napr. takýmto makrom (i s pomenovaním)
P.
Sub PridajList()
Dim xPocetListov, i
On Error Resume Next
xPocetNovychListov = InputBox("Zadajte počet nových listov:", "VSTUP", 1)
If IsNumeric(xPocetNovychListov) And xPocetNovychListov > 0 Then
For i = 1 To xPocetNovychListov
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Novy_" & CStr(i)
Next i
End If
End Sub
Stefan2005
23.04.10,06:15
Dá sa napr. takýmto makrom (i s pomenovaním)
P...[/CODE]
Ale ja potrebujem (resp. i zadávateľ otázky) nie 20 nových (prázdnych) hárkov, ale 20 kópií už z existujúceho hárku (hárkov - napr. z hárku 2, 4 a 5), v ktorom sú už údaje...
P...[/CODE]
Ale ja potrebujem (resp. i zadávateľ otázky) nie 20 nových (prázdnych) hárkov, ale 20 kópií už z existujúceho hárku (hárkov - napr. z hárku 2, 4 a 5), v ktorom sú už údaje...
marjankaj
23.04.10,09:11
Ale ja potrebujem (resp. i zadávateľ otázky) nie 20 nových (prázdnych) hárkov, ale 20 kópií už z existujúceho hárku (hárkov - napr. z hárku 2, 4 a 5), v ktorom sú už údaje...
Vymeň si riadok
Sub PridajList()
Dim xPocetListov, i
On Error Resume Next
xPocetNovychListov = InputBox("Zadajte počet nových listov:", "VSTUP", 1)
If IsNumeric(xPocetNovychListov) And xPocetNovychListov > 0 Then
For i = 1 To xPocetNovychListov
ActiveSheet.Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Novy_" & CStr(i)
Next i
End If
End Sub
Vymeň si riadok
Sub PridajList()
Dim xPocetListov, i
On Error Resume Next
xPocetNovychListov = InputBox("Zadajte počet nových listov:", "VSTUP", 1)
If IsNumeric(xPocetNovychListov) And xPocetNovychListov > 0 Then
For i = 1 To xPocetNovychListov
ActiveSheet.Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Name = "Novy_" & CStr(i)
Next i
End If
End Sub
PaloPa
23.04.10,15:35
Ale ja potrebujem (resp. i zadávateľ otázky) nie 20 nových (prázdnych) hárkov, ale 20 kópií už z existujúceho hárku (hárkov - napr. z hárku 2, 4 a 5), v ktorom sú už údaje...
Pre kopírovanie viacerých listov naraz takto:
Sheets(Array("Sheet1", "Sheet3")).Copy After:=Sheets(Sheets.Count)
resp. takto:
Sheets(Array(1, 3)).Copy After:=Sheets(Sheets.Count)
P.
Pre kopírovanie viacerých listov naraz takto:
Sheets(Array("Sheet1", "Sheet3")).Copy After:=Sheets(Sheets.Count)
resp. takto:
Sheets(Array(1, 3)).Copy After:=Sheets(Sheets.Count)
P.
brucháč
24.04.10,03:37
Ďakujem Vám všetkým za radu
idem skúšať , skúšať a skúšať .
idem skúšať , skúšať a skúšať .