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

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

Moderátoři: Mods_senior, Mods_junior

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

Odeslatod 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.
Uživatelský avatar
Jan Pašek
Tvůrce článků
Master Level 8
Master Level 8
 
Věrnost fóru:
Věrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóru
 
Příspěvky: 3626
Bydliště: Plzeň
Pohlaví: Muž

google adsense
Google
 

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

Odeslatod 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ý.
Věčně optimistická, že bude líp. Bohužel se nic neděje a svět upadá.
Kdo chce, hledá způsob, kdo nechce hledá, důvod.
BTW: 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 gůglu.
SZ není poradna, na pokládání dotazů je tu fórum.
Azuzula
Level 3
Level 3
 
Věrnost fóru:
Věrnost fóru
 
Příspěvky: 315
Bydliště: Země, bohužel...
Pohlaví: Žena

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

Odeslatod 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ů
Master Level 8
Master Level 8
 
Věrnost fóru:
Věrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóru
 
Příspěvky: 3626
Bydliště: Plzeň
Pohlaví: Muž

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

Odeslatod 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.
Uživatelský avatar
Jan Pašek
Tvůrce článků
Master Level 8
Master Level 8
 
Věrnost fóru:
Věrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóruVěrnost fóru
 
Příspěvky: 3626
Bydliště: Plzeň
Pohlaví: Muž

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

Odeslatod 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.
cmuch
Level 4
Level 4
 
Věrnost fóru:
Věrnost fóruVěrnost fóru
 
Příspěvky: 962
Obrázky: 0
Bydliště: Drsná Vysočina :D
Pohlaví: Muž


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

Kdo je online

Uživatelé procházející toto fórum: Azuzula, CommonCrawl [Bot], ZdeF a 6 anonymních uživatelů