Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Excel - jak na automaticke cislovani v odkazech pod sebou

Ahoj, prosim, mohl by mi nekdo pomoci s cislovanim v Excelu?
Jde o to, ze si do první bunky 1A zadam nejaky text, napriklad https://www.academy.com/shop/pdp/ruger-sr1911-45-auto-centerfire-pistol-201039084. Do druhe (2A) cili o radek niz bych si zadal https://www.academy.com/shop/pdp/ruger-sr1911-46-auto-centerfire-pistol-201039084, o dalsi radek https://www.academy.com/shop/pdp/ruger-sr1911-47-auto-centerfire-pistol-201039084. Odkazy jsou vazne ilustrativni a nemaji se mnou nic spolecneho, chci jen ukazat, ze se lisi cisla 45, 46 a 47.

Jak mam prosim udelat, aby mi Excel vygeneroval na dalsi radky stejny odkaz, ale s ciselnou hodnotou postupne se zvysujici az treba do stovky? Aby byl posledni odkaz https://www.academy.com/shop/pdp/ruger-sr1911-100-auto-centerfire-pistol-201039084.

Dekuji Vam za pomoc

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Za prvé, bunka sa adresuje ako A1 a nie 1A. Ak napíšeš do A1: https://www.academy.com/shop/pdp/ruge…
robert13 08.04.2019 15:39
robert13
Aby si sa netrápil, tu máš celé makro, ktoré Ti to urobí: Sub FillHyperT() Application.ScreenUpdati…
robert13 08.04.2019 16:26
robert13
Myslím, že to děláš příliš složitým způsobem. V příloze je vzorový dokument. Použil jsem funkci =CON…
Karel6666 08.04.2019 16:54
Karel6666
Když na to přijde není potřeba ani ten pomocný sloupec. Můžeš "číslovat" rovnou ve vzorci. Za předp…
Siki83 08.04.2019 17:10
Siki83
:beer: Skvelé, ten ŘÁDEK ma nenapadol a keď tam doplní ten hyperlink, tak to má komplet =HYPERLINK(… poslední
robert13 08.04.2019 17:19
robert13

Za prvé, bunka sa adresuje ako A1 a nie 1A.

Ak napíšeš do A1: https://www.academy.com/shop/pdp/ruger-sr1911-45-auto-centerfire-pistol-201039084
tak do A2 napíš:

=LEFT($A$1;46) & MID($A1;47;2)+1 & RIGHT($A$1;33)

a vyplň vzorcom nadol až kým získaš č 100

Funguje to skutočne len po tú 100, pretože nad 100 je vypočítavaná časť trojciferná a teda vzorec by sa pre stovkové čísla musel upraviť.
Ak by bolo potrebné vyplňovať i stovkové rády (alebo i smerom späť - jednotkové rády) a malo by to byť automatické, je to riešiteľné zapracovaním kontroly dĺžky vstupného reťazca do vzorca.
Avšak - výsledkom sú len reťazce ako výsledky vzorca, teda nie odkazy na stránky.
Pretransformovať ich na hypertextové prepojenie na net sa dá ručne (prelepiť vzorce hodnotami a otrocky do každej bunky vstúpiť a stačí odentrovať - obsah bunky sa zmení na hypertextový odkaz).

Rýchlejšie je to jednorazovým makrom:
celé prelepiť hodnotami, hodiť do cyklu od prvého až po posledný riadok a na každý aplikovať príkaz

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=ActiveCell.Text

Aby si sa netrápil, tu máš celé makro, ktoré Ti to urobí:

Sub FillHyperT()
    Application.ScreenUpdating = False
    For i = 2 To 56
        With Cells(i, 1)
            .FormulaR1C1 = "=LEFT(R1C1,46) & MID(R[-1]C1,47,2)+1 & RIGHT(R1C1,33)"
            .Copy
            .PasteSpecial Paste:=xlPasteValues
        End With
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), Address:=ActiveCell.Text
    Next i
    Application.CutCopyMode = False
    Cells(1, 1).Select
End Sub

Tento konkrétny kód to spracováva:
- pre prípad, že začíname v bunke A1
- že sa jedná o ten reťazec, ktorý si uviedol
- končíme so 100-ou

Ak to potrebuješ pre iné umiestnenie, iné textové reťazce, aplikovať pre iné rozsahy, musíš si to upraviť podľa Tvojich potrieb.
Aby si pochopil, ako sa vytvára ďalšia položka, preštuduj si vzorec uvedený v mojej prvej odpovedi.

:beer:
Skvelé, ten ŘÁDEK ma nenapadol a keď tam doplní ten hyperlink, tak to má komplet

=HYPERLINK(CONCATENATE("https://www.academy.com/shop/pdp/ruger-sr1911-";ŘÁDEK()+44;"-auto-centerfire-pistol-201039084"))

anglická verzia:

=HYPERLINK(CONCATENATE("https://www.academy.com/shop/pdp/ruger-sr1911-";ROW()+44;"-auto-centerfire-pistol-201039084"))

Zpět do poradny Odpovědět na původní otázku Nahoru