Zavrieť

Porady

automatizácia pri zadávaní údajov

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
Pravidlá a tipy
  • Každý móže napísať len 1 odpoveď. Neskor mozete svoju odpoveď vylepšiť.
  • Odpoveď má priniesť riešenie na otázku, vyvarujte sa hodnotenia otázky.
  • Odpoveď má byť viac o faktoch ako o názoroch.
Dalšie pravidla a tipy
    Ak potrebujete v otázke niečo upresniť, najskôr sa spýtajte na podrobnosti.
    Koncept slúži na uloženie rozpracovanej odpovede, koncept sa zobrazuje len Vám, až kým ho nezverejníte.
    Ak máte podobnú otázku, založte Novú otázku alebo Súvisiacu otázku.
    ❤ Buďte priateľskí ❤
    Sme súčasťou jednej komunity, ktorá si chce vzájomne pomáhať, rozdieľnosť je vítaná ak neubližuje!
    Usporiadať podľa času

    PaloPa je offline (nepripojený) PaloPa

    PaloPa
    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:

    Code:
    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)

    Code:
    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
    Naposledy upravil PaloPa : 22.04.10 at 12:10

    PaloPa je offline (nepripojený) PaloPa

    PaloPa
    Stefan2005 Pozri príspevok
    ... 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.
    Code:
    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

    marjankaj je offline (nepripojený) marjankaj

    I am a man marjankaj
    Stefan2005 Pozri príspevok
    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

    sthruska je offline (nepripojený) sthruska

    sthruska
    //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.
    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<" ??

    Stefan2005 je offline (nepripojený) Stefan2005

    ! Stefan2005
    brucháč Pozri príspevok
    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ť...

    Stefan2005 je offline (nepripojený) Stefan2005

    ! Stefan2005
    PaloPa Pozri príspevok
    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...

    PaloPa je offline (nepripojený) PaloPa

    PaloPa
    Stefan2005 Pozri príspevok
    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:
    Code:
        
    Sheets(Array("Sheet1", "Sheet3")).Copy After:=Sheets(Sheets.Count)
    resp. takto:

    Code:
    Sheets(Array(1, 3)).Copy After:=Sheets(Sheets.Count)
    P.

    automatizácia pri zadávaní údajov

    Porady, ktoré by vás mohli zaujímať

    Prihláste sa a sledujte len tie Porady, ktoré Vás zaujímajú.