makro multi hypertext excel Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

fmb
nováček
Příspěvky: 3
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

makro multi hypertext excel  Vyřešeno

Příspěvekod fmb » 13 bře 2014 10:18

Ahoj
mam vytvorene makro, ktore mi nacita obsah aktivovanej bunky otvori prislusnu kartu na nej vyhlada cislo vyrobku (toto cislo je uvedene v stlpci A, C,D,E,F (je len jedno cislo ale rozhoduje pre mna kde je napisane na zatriedenie inde su nuly tym padom sa spocitavaju a ziskam potrebne cislo produktu) a riadku tam kde je aktivovana bunka) a nakoniec vytvorim hypertext s adresou prislusnej karty a aktivovanym vyrobkom...

A otazka znie ci sa to neda nejakym sposobom prerobit na to aby to urobilo nie len pre jednu aktivovanu bunku ale pre viac buniek (tieto bunky sa nachadzaju len v 11 stlpcoch vzdy tych istych)....

makro co mam napisane:

Sub hypertext()
'premenne
Dim datatoFind
Dim currentSheet As Integer
' hypertext Makro
'
' Klávesová skratka: Ctrl+h
'
'nacitanie aktivnej bunky adresa + text

sortcell = ActiveCell.Address
adresa = ActiveCell.Address(rowabsolute:=False, columnabsolute:=False)
Range(sortcell).Select
a = Range(sortcell).Text
'nacitanie cisla tovaru podla riadku v ktorom sa nachadza aktivna bunka
b1 = Cells(ActiveCell.Row, 1)
b2 = Cells(ActiveCell.Row, 3)
b3 = Cells(ActiveCell.Row, 4)
b4 = Cells(ActiveCell.Row, 5)
b = b1 + b2 + b3 + b4


'nacitanie adresy sheet pre navrat
currentSheet = ActiveSheet.Index
' zadanie dat na vyhladanie
datatoFind = b
'vyhladanie na sheete s menom z oznacenej bunky
Sheets(a).Activate
Cells.Find(What:=datatoFind, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate



'nacitanie do premennej c adresy najdenej bunky
c = ActiveCell.Address
'navrat po hladani na povodny zosit
Sheets(currentSheet).Activate
Range(adresa).Activate

'vytvorenie hyperlinku na subor "times" zosit "a" odkaz na bunku "c"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="times.xlsx", _
SubAddress:="'" & a & "'!" & c

End Sub
Přílohy
bez_názvu.JPG
nahlad suboru pre ilustraciu :

Reklama
cmuch
Level 4.5
Level 4.5
Příspěvky: 1544
Registrován: březen 11
Bydliště: Drsná Vysočina :D
Pohlaví: Muž
Stav:
Offline

Re: makro multi hypertext excel

Příspěvekod cmuch » 14 bře 2014 11:57

Ahoj,
možná takto - do řádku s bigRange si dej všechny bunky kterých se to týká.

Vyzkoušej na záloze původního souboru, kdyby se to náhodou nepovedlo.

Kód: Vybrat vše

Sub hypertext()
'premenne
Dim datatoFind
Dim currentSheet As Integer

Dim bigRange As Range
Dim RangebigRange As Range
' hypertext Makro
'
' Klávesová skratka: Ctrl+h
'
'nacitanie aktivnej bunky adresa + text
Application.ScreenUpdating = False

Set bigRange = Application.Union(Range("A5"), Range("B7:C78"), Range("j7:j78"))

For Each RangebigRange In bigRange

    RangebigRange.Select
    sortcell = ActiveCell.Address
    adresa = ActiveCell.Address(rowabsolute:=False, columnabsolute:=False)
    Range(sortcell).Select
    a = Range(sortcell).Text
    'nacitanie cisla tovaru podla riadku v ktorom sa nachadza aktivna bunka
    b1 = Cells(ActiveCell.Row, 1)
    b2 = Cells(ActiveCell.Row, 3)
    b3 = Cells(ActiveCell.Row, 4)
    b4 = Cells(ActiveCell.Row, 5)
    b = b1 + b2 + b3 + b4

    'nacitanie adresy sheet pre navrat
    currentSheet = ActiveSheet.Index
    ' zadanie dat na vyhladanie
    datatoFind = b
    'vyhladanie na sheete s menom z oznacenej bunky
    Sheets(a).Activate
    Cells.Find(What:=datatoFind, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate

    'nacitanie do premennej c adresy najdenej bunky
    c = ActiveCell.Address
    'navrat po hladani na povodny zosit
    Sheets(currentSheet).Activate
    Range(adresa).Activate

    'vytvorenie hyperlinku na subor "times" zosit "a" odkaz na bunku "c"
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="times.xlsx", _
    SubAddress:="'" & a & "'!" & c
   
Next RangebigRange

Application.ScreenUpdating = True
End Sub


Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: makro multi hypertext excel

Příspěvekod Azuzula » 14 bře 2014 12:08

Ahoj,
"trochu" jsem tvé makro zrevidovala, bude rychlejší.
Funkce je totožná, jen projde všechny označené buňky a provede tvoji proceduru. Nejsou ošetřené případné chyby!

Kód: Vybrat vše

Sub hypertext()
' hypertext Makro
'
' Klávesová skratka: Ctrl+h
'
'premenne
Dim rNalez As Range, rCell As Range, rRng As Range
Dim sNajit As Double
Dim iSh As Integer

'nastaví oblast
Set rRng = Selection
'nastaví index sheet pre navrat
iSh = ActiveSheet.Index

Application.ScreenUpdating = False
'začne hledání v každé buňce označené oblasti
For Each rCell In rRng.Cells
    If rCell <> "" Then 'provede na neprázdných buňkách
        'nacitanie cisla tovaru podla riadku v ktorom sa nachadza aktivna bunka
        sNajit = Cells(rCell.Row, 1)
        sNajit = sNajit + Cells(rCell.Row, 3)
        sNajit = sNajit + Cells(rCell.Row, 4)
        sNajit = sNajit + Cells(rCell.Row, 5)
               
        'vyhladanie na sheete s menom z oznacenej bunky
        Set rNalez = Sheets(rCell.Value).Cells.Find(What:=sNajit, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext)
       
        'vytvorenie hyperlinku na subor "times" zosit odkaz na bunku "rNalez"
        ActiveSheet.Hyperlinks.Add Anchor:=rCell, Address:=ThisWorkbook.Name, _
        SubAddress:="'" & rCell.Value & "'!" & rNalez.Address
    End If
Next
Application.ScreenUpdating = True
End Sub


--- Doplnění předchozího příspěvku (14 Bře 2014 12:10) ---

Tak cmuch byl rychlejší, ale nevadí, aspoň si můžeš vybrat :)
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

fmb
nováček
Příspěvky: 3
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Re: makro multi hypertext excel

Příspěvekod fmb » 14 bře 2014 12:43

Dakujem za pomoc,
zaujimave riesenie... ale stihol som to vyriesit sedlickym rozumom, ked urobi hypertext tak sa posunie na bunku doprava ked je prazna posunie sa na zaciatok o riadok nizsie ked je ten prazdny posunie sa dalej :D cize ked drzim CTRL +H tak prebehne vsetky bunky za nejaky kratky cas a je to osefovane, tym padom som pokryl tych 2000 hypertextov :D:D:D ale to radsej nejdem postovat ten program lebo by som vyzeral nasmiech :D

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: makro multi hypertext excel

Příspěvekod Azuzula » 14 bře 2014 13:54

Hlavní je, že si člověk umí poradit :)
Označ prosím téma za vyřešené.
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Makro pro myš Rapture Python
    od mmmartin » 27 srp 2023 15:18 » v Problémy s hardwarem
    9
    1125
    od mmmartin Zobrazit poslední příspěvek
    29 srp 2023 16:47
  • Excel a OneDrive
    od sginfo » 11 zář 2023 15:28 » v Kancelářské balíky
    16
    6271
    od mirekol Zobrazit poslední příspěvek
    20 říj 2023 08:31
  • excel-posun makra
    od actionboy » 12 bře 2024 18:59 » v Kancelářské balíky
    1
    390
    od Grimm Zobrazit poslední příspěvek
    12 bře 2024 21:43
  • Excel - vlastní formát Příloha(y)
    od Story-Long » 11 srp 2023 14:50 » v Kancelářské balíky
    3
    1984
    od Story-Long Zobrazit poslední příspěvek
    14 srp 2023 10:11
  • Excel - funkce když
    od Martyn20 » 13 črc 2023 11:56 » v Kancelářské balíky
    5
    2526
    od mmmartin Zobrazit poslední příspěvek
    13 črc 2023 18:44

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti