Excel-VBA-generování obsahu-pomoc s úpravou

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

Moderátor: Mods_senior

Uživatelský avatar
Jan Pašek
Tvůrce článků
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Excel-VBA-generování obsahu-pomoc s úpravou

Příspěvekod Jan Pašek » 18 čer 2012 21:12

pokouším se upravit následující makro viewtopic.php?p=233831&sid=c7c7630331db69913294ff25926c706d#p233831 a opět v tom plavu.

tohle sem napsal (viz Code) a nechodí podmínka za "Else" pokud nemá list číslo uvedené v podmínce chci aby se zapsal v ýstup vzorce z buňky Q4 dotčeného listu

Kód: Vybrat vše

Sub seznam_listu()
Dim ceLL As Range
Columns(1).ClearContents
For i = 1 To Sheets.Count
    If i < 6 Or i = 7 Or i = 8 Then
        Cells(i, 1) = Sheets(i).Name
    Else
        Cells(i, 1) = Sheets(i).ceLL(4, 17)
    End If
Next
End Sub

další část upravovaného makra bude navazovat ale taky trochu jinak jen dnes již došel volný čas takže potom navážu. zatím dík za pomoc s problémem výše.
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.

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

Re: Excel-VBA-generování obsahu-pomoc s úpravou

Příspěvekod Azuzula » 18 čer 2012 23:03

Tak první problém je v syntaxi onoho nefunkčního řádku... nevím proč tam definuješ proměnnou ceLL když ji pak necháš prázdnou a snažíš se ji i špatně použít. Když je snažší "Sheets(i).cells(4, 17)" nebo "Sheets(i).range("Q4")"
A další (není to chyba jen to vypadá blbě) bych zjednodušila If, není třeba tam mít 3 podmínky na to samé když stačí jedna "i <= 8" nebo "i < 9" vyber si, výsledek je stejný.
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.

Uživatelský avatar
Jan Pašek
Tvůrce článků
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Re: Excel-VBA-generování obsahu-pomoc s úpravou

Příspěvekod Jan Pašek » 03 črc 2012 20:37

Tak naposled když jsem měl čas se tabulce co píšu věnovat mi spadnul internet takže to vypadá že sem pěkný nevděčník a zapomněl sem vyslovit mnohé díky.
Makro nyní vypadá takto:

Kód: Vybrat vše

Sub seznam_listu()
Dim ceLL As Range
If Range("A3") <> "Obsah knihy revizní a kontrol el.spotřebičů během užívání" Then
    Range("A3") = "Obsah knihy revizní a kontrol el.spotřebičů během užívání"
End If
If Range("A4") <> "Název listu" Then
    Range("A4") = "Název listu"
End If
If Range("B4") <> "Pořadí listu" Then
    Range("B4") = "Pořadí listu"
End If
For i = 2 To Sheets.Count
    If i < 8 Then
        Cells(i + 3, 1).ClearContents
        Cells(i + 3, 1) = Sheets(i).Name
        Cells(i + 3, 2).ClearContents
        Cells(i + 3, 2) = i
    Else
        Cells(i + 3, 1).ClearContents
        Cells(i + 3, 1) = Sheets(i).Range("Q4")
        Cells(i + 3, 2).ClearContents
        Cells(i + 3, 2) = i
    End If
Next i
For Each ceLL In Range("A5", Range("A5").End(xlDown))
    ceLL.Hyperlinks.Add anchor:=ceLL, Address:="", _
    SubAddress:="'" & ceLL.Value & "'" & "!a1", ScreenTip:="Kliknutím se přesuneš do tohoto listu", TextToDisplay:=ceLL.Value
Next
End Sub

Do horních řádků přijdou umístit ovládací tlačítka. Dále nevím jak upravit bo výše uvedený vzor předpokládá shodu mezi názvem listu a číslem listu já se ale odkazuji od 8 mého listu na buňku odtud jsou pak hypertext odkazy nefunkční.
Ještě Edit:
Od listu č 7 potřebuji odkazovat na první prázdnou buňku po poslední editované buňce ve sloupci A
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.

Uživatelský avatar
Jan Pašek
Tvůrce článků
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Re: Excel-VBA-generování obsahu-pomoc s úpravou

Příspěvekod Jan Pašek » 04 črc 2012 08:19

najde se prosím někdo kdo poradí nebo je další požadavek na úpravu příliš nesrozumitelný?
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.

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

Re: Excel-VBA-generování obsahu-pomoc s úpravou

Příspěvekod cmuch » 19 črc 2012 13:57

Ahoj, tak jsem něco vytvořil, jen si nejsem jistý tím jestli jsem zprávně pochopil
Od listu č 7 potřebuji odkazovat na první prázdnou buňku po poslední editované buňce ve sloupci A


Tak se uvidí :D

Kód: Vybrat vše

Sub seznam_listu()

Dim i As Integer
Dim FrstEmptyRow As Long

Sheets(1).Select ' zde napsat list na kterem se ma makro vykonat - zde prvni

Range("A3") = "Obsah knihy revizní a kontrol el.spotøebièù bìhem užívání"
Range("A4") = "Název listu"
Range("B4") = "Poøadí listu"

For i = 2 To Sheets.Count
    If i < 8 Then
        ' nazev listu dle bunky
        Cells(i + 3, 1).ClearContents
        Cells(i + 3, 1) = Sheets(i).Name
        ' hyper.odkaz
        Cells(i + 3, 1).Hyperlinks.Add Anchor:=Cells(i + 3, 1), Address:="", _
           SubAddress:="'" & Cells(i + 3, 1).Value & "'" & "!a1", _
           ScreenTip:="Kliknutím se pøesuneš do tohoto listu", _
           TextToDisplay:=Cells(i + 3, 1).Value
        ' poradi listu
        Cells(i + 3, 2).ClearContents
        Cells(i + 3, 2) = i
    Else
        ' nazev listu dle bunky
        Cells(i + 3, 1).ClearContents
        Cells(i + 3, 1) = Sheets(i).Range("Q4")
        ' prvni prázdna bunka v sl. A na listu i
        FrstEmptyRow = Sheets(i).Cells(Rows.Count, 1).End(xlUp).Row + 1
        ' hyper.odkaz
        Cells(i + 3, 1).Hyperlinks.Add Anchor:=Cells(i + 3, 1), Address:="", _
           SubAddress:="'" & Sheets(i).Name & "'" & "!a" & FrstEmptyRow, _
           ScreenTip:="Kliknutím se pøesuneš do tohoto listu", _
           TextToDisplay:=Cells(i + 3, 1).Value
        ' poradi listu
        Cells(i + 3, 2).ClearContents
        Cells(i + 3, 2) = i
    End If
Next i
End Sub

Jen je ještě potřeba upravit názvy buněk A3, A4, B4 - code asi neumí některá písmena s háčkama.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4811
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12223
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Pohoda a excel Příloha(y)
    od brownwld » 06 kvě 2025 17:28 » v Kancelářské balíky
    1
    4738
    od atari Zobrazit poslední příspěvek
    07 kvě 2025 09:41
  • Excel - výpočet nočních hodin Příloha(y)
    od Uziv00 » 17 říj 2024 11:22 » v Kancelářské balíky
    3
    3347
    od lubo. Zobrazit poslední příspěvek
    24 říj 2024 00:00
  • Excel 2016 - vzorec kombinace podmínek Příloha(y)
    od MK_Vs » 08 led 2025 17:56 » v Kancelářské balíky
    5
    4095
    od lubo. Zobrazit poslední příspěvek
    14 led 2025 00:51

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