tx0 (7K)

tx1 (39K)

tx2 (49K)

tx3 (11K)


tx4 (25K)




tx5 (4K)



tx6 (5K)



tx7 (5K)



Učímesa (3K)

Príklad 1:

Napríklad dostávame mailom zoznam klientov. Zoznam dostávame vo forme, ako ich máme natypovaných v stĺpci A (viď obrázok vľavo). Potrebujeme však oddeliť krstné meno od priezviska - tak ako to je v stĺpci B a C.

Príklad 2:

     Pretože väčšiou sa zapisujú mená v poradí priezvisko - krstné meno, v riadkoch 8-12 máme príklad pre obrátený zápis. Na ďalšom obrázku je zobrazený ten istý príklad, kde vidíte, aké vzorce máme zadať.

Príklad 3:

Na obrázku vľavo vidíme dvojaký zápis mena - vľavo krstné aj priezvisko malými písmenami a vpravo je priezvisko veľkými písmenami. Toto dosiahneme pomocou vzorca, ktorý je zobrazený na obrázku nižšie.

Stačí zapísať do bunky B2 vzorec a potom len potiahnúť za úchytku bunky. Ale tento spôsob má jeden nedostatok - zmenený zápis je v iných bunkách - pomocou vzorca nemôžeme prepísať originálne bunky. Preto je lepšie použiť krátky program vo VBA (makro).


Sub PriezVlke()
' ak máme zapísané mená v poradí krstné a potom priezvisko
' spustením tejto procedúry krstné meno zostane malými písmenami
' a priezviská budú zapísané veľkým písmenami
' v prvom riadku je menovka, napr. klineti
    Dim bunka As Range, obl As Range
    Dim medzera As String
    Range("A1").Activate 'tento riadok zmeňte, ak máte klientov zapísaných 
  ' v inom stĺpci 
    Set obl = ActiveCell.CurrentRegion
    obl.Offset(1, 0).Resize(obl.Rows.Count - 1, obl.Columns.Count).Select
        For Each bunka In Selection
            medzera = InStr(bunka, " ")
                If medzera >= 0 Then
                    bunka = (Left(bunka, medzera - 1)) & UCase(Mid(bunka, medzera))
                End If
        Next
    Set bunka = Nothing
End Sub

Sub PrVlk()
' ak máme zapísané mená v poradí krstné a potom priezvisko
' spustením tejto procedúry krstné meno zostane malými písmenami
' a priezviská budú zapísané veľkým písmenami, ale poradie sa
' zmení - prvé bude priezvisko
    Dim bunka As Range, obl As Range
    Dim medzera As String
    Range("A1").Activate
    Set obl = ActiveCell.CurrentRegion
    obl.Offset(1, 0).Resize(obl.Rows.Count - 1, obl.Columns.Count).Select
        For Each bunka In Selection
            medzera = InStr(bunka, " ")
                If medzera >= 0 Then
                    medzera = medzera + 1
                    bunka = UCase(Mid(bunka, medzera)) _
                    & " "  & (Left(bunka, medzera - 1))
                    Debug.Print bunka
                End If
        Next
    Set bunka = Nothing
End Sub

Stiahnite si súbor textové funkcie    Veľkosť: 34 Kb

Kontakty

Stránka je v súlade s aktuálnymi normami.

Valid HTML 4.01 Transitional



Domov

©  Klára Mrázová