MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 13.09.2017, 16:18   #1
Brizzly
Neuer Benutzer
Neuer Benutzer
Standard VBA - VBA-Suchfunktion nur für bestimmste Spalten und Arbeitsblätter

Hallo zusammen,

folgenden Code für eine Suchfunktion hab ich "erstellt" bzw. abgeändert.
Es wird in allen Tabellenblättern nach Inhalt gesucht, sobald was gefunden wurde, der Inhalt der Zeile ausgewählt und in ein anderes Blatt kopiert.

Code:

Sub Suchen_alle_Tab()
   Dim wks As Worksheet
   Dim rng As Range
   Dim strAddress As String, strFind As String
   strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName, strSuch)
   If strFind = "" Then Exit Sub
   For Each wks In Worksheets
    Sheets("Tabelle1").Select
      Set rng = wks.Cells.Find(strFind, Lookat:=xlPart, LookIn:=xlFormulas)
      If Not rng Is Nothing Then
            strAddress = rng.Address
            Do
               Application.Goto rng, False
            If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
        Selection.End(xlToLeft).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("Tabelle2").Select
    Range("D33").Select
    Selection.End(xlDown).Select
    ActiveCell.Offset(1, 0).Activate
    ActiveSheet.Paste
    Sheets("Tabelle1").Select
               Set rng = Cells.FindNext(After:=ActiveCell)
               If rng.Address = strAddress Then Exit Do
            Loop
        End If
    Next wks
    strSuch = strFind
    MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
    Worksheets(1).Activate
    Range("A1").Select
End Sub
Da ich den nicht komplett selber erstellt habe, würde ich gerne folgende Änderungen daran vornehmen, die ich selber auch nach sehr viel Probieren nicht hinbekommen habe.

Also ich würde gern, dass der Code nur in einem bestimmten Tabellenblatt "tabelle1" sucht und dort jeweils nur in Spalte A,C,D und E.

Freue mich sehr über jede Antwort!
Vielen Dank!
Brizzly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 08:44   #2
Beverly
MOF Guru
MOF Guru
Standard

Hi,

meinst du so etwas:

Code:

Sub Suchen_alle_Tab()
   Dim rng As Range
   Dim lngZeile As Long
   Dim strAddress As String, strFind As String
   strFind = InputBox("Bitte Suchbegriff eingeben:", Application.UserName)
   If strFind = "" Then Exit Sub
   With Worksheets("Tabelle2")
      lngZeile = .Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row + 1
   End With
   With Worksheets("Tabelle1")
      Set rng = Union(.Columns("A"), .Columns("C:E")).Find(strFind, Lookat:=xlPart, LookIn:=xlFormulas)
      If Not rng Is Nothing Then
        strAddress = rng.Address
        Do
            Application.Goto rng, False
            .Cells(rng.Row, 1).EntireRow.Copy Worksheets("Tabelle2").Cells(lngZeile, 1)
            If MsgBox("Weiter", vbYesNo + vbQuestion) = vbNo Then Exit Sub
            Set rng = Union(.Columns("A"), .Columns("C:E")).FindNext(rng)
            lngZeile = lngZeile + 1
            If rng.Address = strAddress Then Exit Do
        Loop
      End If
      MsgBox "Keine weiteren Fundstellen!", False, Application.UserName
    End With
End Sub

GrußformelBeverly's Excel - Inn

__________________

Bitte im Beitrag eine kurze Rückmeldung auch in dem Fall geben, wenn ein Problem gelöst wurde - dies hilft auch anderen Usern, wenn sie den betreffenden Thread lesen.
Möchtest du dich außerdem für die Hilfe bei der Lösung deines Problems bedanken? Das kannst du ganz einfach durch die Bewertung eines Beitrags (Schalter unten links).
Beverly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 16:04   #3
Brizzly
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ja das ist der Hammer! Vielen Dank

Jetzt würde ich gerne noch anstatt einer Msg.Box einfach eine Textbox ins Dokument integrieren, wo der zu suchende Wert eingetragen werden kann.
Also ich müsste wissen wie das Makro den Wert für TextBox1 übernimmt. Also das was vorher strFind war.

Danke im Vorraus!
Brizzly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.09.2017, 16:10   #4
Brizzly
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hab es schon selber rausgefunden, danke!
Brizzly ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:41 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.