Suchfunktion für mehrere Tabellenblätter

  • Sonstige

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von RainerLauer.

    Suchfunktion für mehrere Tabellenblätter

    Hallo zusammen, ich habe mal wieder ein Problem.

    Und zwar will ich über VB eine Excel DB (mehrere Tabellenblätter) durchsuchen.

    Leider habe ich nur den Befehl für ein Tabellenblatt zu durchsuchen, welcher

    Search Value.ActiveSheet....

    lautet. Welchen Befehl kann ich jetzt benutzen um mehrere Tabellenblätter zu durchsuchen.

    Vielen Dank für eure Hilfe.

    Raaaner
    Durchlaufe doch in einer Schleife alle vorhandenen Tabellenblätter und starte dann den Suchbefehl für jedes einzelne Blatt.

    dim i as integer
    for i = 0 to anzahltabellen - 1
    search tabelle(i)
    next i

    So in der Art...
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    Hallo Marcus,
    anbei ist mein code. Kannst du mir dann bitte noch sagen wie ich die Schleife einbauen kann, bin leider ein rechter Anfänger. Vielen vielen Dank.
    Code:
    Option Explicit

    Private Sub cmdSearch_Click()
    SearchValue ActiveSheet.UsedRange, txtStart, txtTarget
    End Sub

    Private Function SearchValue(ActiveSheet As Range, strValue1 As String, strValue3 As String)
    'Durchsuchter Bereich: rgnSearchArea
    'Spalte 1 des Bereiches wird nach strValue1 durchsucht
    'Spalte 3 des Bereiches wird nach strValue3 durchsucht
    Dim arr() As String
    Dim i As Long, j As Long
    Dim strTmp As String
    lstResult.Clear

    With ActiveSheet
    For i = 1 To .Rows.Count
    If Trim(.Cells(i, 1)) = Trim(strValue1) And Trim(.Cells(i, 3)) = Trim(strValue3) Then
    For j = 1 To .Columns.Count
    strTmp = strTmp & .Cells(i, j) & vbTab
    Next j
    lstResult.AddItem strTmp
    strTmp = vbNullString
    End If
    Next i
    End With

    End Function
    Versuche mal folgendes:

    Visual Basic-Quellcode

    1. Private Sub cmdSearch_Click()
    2. Dim i as Integer
    3. for i= 0 to sheets.count-1
    4. SearchValue sheets(i).UsedRange, txtStart, txtTarget
    5. next i
    6. End Sub
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Jetzt bringt er die Fehlermeldung

    Subscript out of Range und verweist auf die Zeile

    SearchValue sheets(i).UsedRange, txtStart, txtTarget

    Please help me


    -------------------------------------------------------------------------------
    PS: Ich bin vielleicht froh das es so nette Menschen in den
    Forums gibt. Thanks @ all

    Visual Basic-Quellcode

    1. Option Explicit
    2. Private Sub cmdSearch_Click()
    3. Dim i As Integer
    4. lstresult.Clear
    5. For i = 1 To Sheets.Count
    6. SearchValue Sheets(i).UsedRange, txtstart, txttarget
    7. Next i
    8. End Sub
    9. Private Function SearchValue(ActiveSheet As Range, strValue1 As String, strValue3 As String)
    10. 'Durchsuchter Bereich: rgnSearchArea
    11. 'Spalte 1 des Bereiches wird nach strValue1 durchsucht
    12. 'Spalte 3 des Bereiches wird nach strValue3 durchsucht
    13. Dim arr() As String
    14. Dim i As Long, j As Long
    15. Dim strTmp As String
    16. With ActiveSheet
    17. For i = 1 To .Rows.Count
    18. If Trim(.Cells(i, 1)) = Trim(strValue1) And Trim(.Cells(i, 3)) = Trim(strValue3) Then
    19. For j = 1 To .Columns.Count
    20. strTmp = strTmp & .Cells(i, j) & vbTab
    21. Next j
    22. lstresult.AddItem strTmp
    23. strTmp = vbNullString
    24. End If
    25. Next i
    26. End With
    27. End Function
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum