Collapse column

Autor Thema: Office 2010: Such-Makro nur auf eine Spalte anweisen  (Gelesen 1180 mal)

Offline lexipator

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Office 2010: Such-Makro nur auf eine Spalte anweisen
« am: Juni 29, 2016, 11:49:46 Vormittag »
Hey,
ich bin, was Makros o.ä. angeht, blutiger Anfänger.
Ich habe mir aus dem Internet ein Such-Makro für nen Button rausgesucht, funktioniert auch super, aber:
Ich würde es gern nur eine Spalte (D) eines Blattes durchsuchen lassen, anstatt die ganze Tabelle, da die gesuchten Werte auch an anderer, unwichtiger Stelle auftreten können.

Kann mir wer helfen?
Danke!

Public Sub SearchAllTables()
    Dim ws As Worksheet
    Dim c
    Dim firstAddress As String
    Dim secAddress
    Dim GFound As Boolean
    Dim GWeiter As Boolean
   
    GWeiter = False
    GFound = False
anf:
    SSearch = InputBox("Suchen nach:", "Search In All Tables", SSearch)
   
    If SSearch = "" Then
        End
    End If
weiter:
    For Each ws In Worksheets
        'ws.Select
        With ws.Cells
            Set c = .Find(SSearch, LookIn:=xlValues, MatchCase:=False)
            If Not c Is Nothing Then
                GFound = True
                ws.Select
                c.Select
                firstAddress = c.Address
                If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbYes Then
                    Do
                        Set c = .FindNext(c)
                       
                       
                        secAddress = c.Address
                        If c.Address = firstAddress Then
                            Exit Do
                        End If
                        c.Select
                        If MsgBox("Weitersuchen ?", vbQuestion + vbYesNo) = vbNo Then
                            GWeiter = True
                            GoTo ende
                        End If
                    Loop While Not c Is Nothing And secAddress <> firstAddress And c.Address <> firstAddress
                Else
                    GWeiter = True
                    GoTo ende
                End If
            End If
        End With
    Next ws
   
ende:

    If GFound = False Then
        If MsgBox("Suchwert nicht gefunden ! Neue Suche ?", vbInformation + vbYesNo) = vbYes Then
            GoTo anf:
        End If
    Else
        If GWeiter = False Then
            If MsgBox("Sie haben alle Tabellenblätter durchsucht ! Soll die Suche neu gestartet werden ?", vbInformation + vbYesNo) = vbYes Then
                GoTo weiter
            End If
        End If
    End If
       
End Sub

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline lexipator

  • Newbie
  • *
  • Beiträge: 11
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2010
Antw:Office 2010: Such-Makro nur auf eine Spalte anweisen
« Antwort #1 am: Juli 27, 2016, 11:30:51 Vormittag »
niemand eine Idee?

Offline gmg-cc

  • Hero Member
  • *****
  • Beiträge: 1.321
    • Profil anzeigen
    • Meine Webseite
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw:Office 2010: Such-Makro nur auf eine Spalte anweisen
« Antwort #2 am: Juli 27, 2016, 11:56:11 Vormittag »
Moin,
ich denke, dass es anderen Profis ähnlich geht wie mir: Alle drei Sprung-Adressen (anf:, weiter:, ende:) sind in dieser Form nicht nötig, ich empfinde sie als unsauberen Programmierstil. Es sind noch weitere Ungereimtheiten drin … Und da geh ich erst einmal gar nicht dabei. - Wenn meine Kunden mir so etwas präsentieren, gibt es für mich 2 Möglichkeiten: Neu schreiben oder einen Kollegen zu suchen empfehlen, der sich daran die Finger verbrennen will.

Prinzipiell finde ich es sehr gut, dass du dir die Mühe gemacht hast, einen "halbwegs" passenden Code im Netz zu finden und auf deine Bedürfnisse anzupassen. Das ist Engagement, welches ich bei sehr vielen Fragestellern in diversen Foren einfach vermisse. Als erste Möglichkeit würde ich versuchen, mit dem Verfasser des Codes Kontakt aufzunehmen, der sollte am ehesten wissen, wie das auf deine Bedürfnisse anzupassen ist.
Gruß
Günther

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.