Uprava makra

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

Moderátor: Mods_senior

SeTH
nováček
Příspěvky: 11
Registrován: prosinec 08
Pohlaví: Nespecifikováno
Stav:
Offline

Uprava makra

Příspěvekod SeTH » 11 pro 2008 09:51

zdravim potreboval bcyh upravit vyhledavaci makro. urcite to bude neco jednoduchyho ale nevim kde to najit :)
makro fiunguje bezvadne ale potrebuju aby vyhledaval jenom v jednom sloupci a to ve sloupci E.
jedna se o upravene makro Turbofind, muze obsahovat chyby, protoze v VBA neovladam :blush:

Kód: Vybrat vše

Option Explicit
Sub vymeniky(FindText As String)

' vytvořil: Ladys.R@seznam.cz

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

ThisWorkbook.Sheets("Vypis").Range("A2:D1000").ClearContents

Dim SheetsAreas(100) As Worksheet
Dim A As Long, B As Long, i As Long, j As Long, k As Long
Dim PomAddress As String, PomAreas As String, HlinkAddress As String, Linkdisplay As String, NextAddress As String, NextCell As String

A = 0
B = 1

For i = 1 To ThisWorkbook.Sheets.Count - 1
    If Sheets(i).Name <> "Vypis" Then
        A = A + 1
        Set SheetsAreas(A) = Sheets(i)
    End If
Next i

For j = 1 To A

SheetsAreas(j).Activate
Range("A1").Activate
On Error Resume Next
Cells.Find(What:=FindText, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False).Activate
        If Err = 0 Then
        B = B + 1
            PomAddress = ActiveCell.Address
            PomAreas = SheetsAreas(j).Name & PomAddress
            NextAddress = ActiveCell.Previous.Text
            If NextAddress = vbNullString Then
                NextAddress = ""
            Else
                NextAddress = NextAddress
            End If
           
            ThisWorkbook.Sheets("Vypis").Cells(B, 1).Value = _
            ThisWorkbook.Sheets(SheetsAreas(j).Name).Range(PomAddress).Value
            ThisWorkbook.Sheets("Vypis").Cells(B, 3).Value = SheetsAreas(j).Name
            ThisWorkbook.Sheets("Vypis").Cells(B, 2).Value = NextAddress
           
            HlinkAddress = SheetsAreas(j).Name & "!" & PomAddress
               
           
            ThisWorkbook.Sheets("Vypis").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("Vypis").Cells(B, 4), Address:="", SubAddress:= _
            HlinkAddress, TextToDisplay:="Jít na záznam"
                       
            For k = 1 To 100000
            On Error Resume Next
               
                Cells.FindNext(After:=ActiveCell).Activate
                PomAddress = ActiveCell.Address
                NextAddress = ActiveCell.Previous.Text
                If SheetsAreas(j).Name & PomAddress = PomAreas Then GoTo NextSheet
               
                If NextAddress = vbNullString Then
                    NextAddress = ""
                Else
                    NextAddress = NextAddress
                End If
               
                B = B + 1
                ThisWorkbook.Sheets("Vypis").Cells(B, 1).Value = _
                ThisWorkbook.Sheets(SheetsAreas(j).Name).Range(PomAddress).Value
                ThisWorkbook.Sheets("Vypis").Cells(B, 3).Value = SheetsAreas(j).Name
                ThisWorkbook.Sheets("Vypis").Cells(B, 2).Value = NextAddress
             
                HlinkAddress = SheetsAreas(j).Name & "!" & PomAddress
           
                ThisWorkbook.Sheets("Vypis").Hyperlinks.Add Anchor:=ThisWorkbook.Sheets("Vypis").Cells(B, 4), Address:="", SubAddress:= _
                HlinkAddress, TextToDisplay:="Jít na záznam"
       
               
               
            Next k
        End If
NextSheet:
       
Next j

Sheets("Vypis").Select
Application.Calculation = xlCalculationAutomatic
Application.Calculate

Application.ScreenUpdating = True

End Sub
Sub spustit_hledani()
    If Worksheets("Vypis").Range("f2") = vbNullString Then
        ThisWorkbook.Sheets("Vypis").Range("A2:D1000").ClearContents
    Else
        vymeniky Worksheets("Vypis").Range("f2")
    End If
End Sub

Reklama
navstevnik
Level 4
Level 4
Příspěvky: 1142
Registrován: srpen 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Uprava makra

Příspěvekod navstevnik » 11 pro 2008 10:39

Bohuzel cela programova konstrukce je trochu tezkopadna, takze uprava se neobejde bez vetsiho zasahu. A je daleho rychlejsi, nez analyzovat a upravovat nevhodne makro, napsat makro nove. Navic chybi jakakoliv presna specifikace toho, co ma makro vykonat.
V predchozim dotazu "Vyhledavani" jsi dostal vysledne makro napsane presne podle nekolikrat tebou upresnovanych pozadavku a nakonec jsi od jeho pouziti ustupil a rozhodl ses pouzit makro, ktere nyni pozadujes upravit a to na vyhledavani ve sloupci E.

SeTH
nováček
Příspěvky: 11
Registrován: prosinec 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Uprava makra

Příspěvekod SeTH » 11 pro 2008 10:43

no predstavoval jsme si to tak ze se tam jenom nekde prepise aby vyhledaval jen v urcitem sloupci na misto celyho listu...

SeTH
nováček
Příspěvky: 11
Registrován: prosinec 08
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Uprava makra

Příspěvekod SeTH » 11 pro 2008 13:37

A bylo by mozny to makro poupravit ab vyhledaval jenom ve sloupci E pro kazdy list a nme v celekm listu..?

Uživatelský avatar
mike007
Master Level 7.5
Master Level 7.5
Příspěvky: 5860
Registrován: srpen 07
Bydliště: Pardubice
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Uprava makra

Příspěvekod mike007 » 11 pro 2008 16:18

Plně souhlasím s navstevnikem. Makro by se muselo kompletně předělat. Nejde mi do hlavy, proč nevyužiješ makra, které ti napsal ...? Vždyť splňuje všechny tvoje požadavky ...
Nejlepší hra je Excel!
Pravidla fóra PC-helpJak označit téma za vyřešené
»»»»»»»»»»»»»»»»»»»»»»»
UPOZORNĚNÍ - můj Skype, Soukromé zprávy či email neslouží jako tech. podpora.
Dotazy pište do fóra. Od toho tu je.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Uprava vzorce
    od junis » 27 črc 2024 15:43 » v Kancelářské balíky
    6
    5228
    od junis Zobrazit poslední příspěvek
    02 srp 2024 18:02
  • Úprava pc pro Kingdome Come Deliverance 2
    od barryk10cz » 07 led 2025 17:00 » v Rady s výběrem hw a sestavením PC
    13
    3689
    od Hangli Zobrazit poslední příspěvek
    09 led 2025 22:42
  • Raspberry - M2 disk - uprava a zaloha oddilu Příloha(y)
    od L.L » 18 srp 2024 10:32 » v Problémy s hardwarem
    3
    3697
    od L.L Zobrazit poslední příspěvek
    19 srp 2024 14:39
  • bitmapová grafika - úprava fotografií, retuše, filtry.
    od zuzana3 » 10 kvě 2025 11:32 » v Design a grafické editory
    2
    5096
    od zuzana3 Zobrazit poslední příspěvek
    10 kvě 2025 17:31

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

Kdo je online

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