Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

In Spalte Suchen und Zeile kopieren


Betrifft: In Spalte Suchen und Zeile kopieren von: Sven
Geschrieben am: 09.01.2018 13:48:56

Guten Tag,

ich Suche nach einem Makro, welches in Tabelle1 in der ersten Spalte ein bestimmtet Text sucht (fest im Makro hinterlegt, ohne Inputbox) (der immer wo anders stehen kann) und die Passende Zeile dann in Tabelle 2 kopiert.
Dieses benötige ich dann für 5 "Suchwerte" welche dann von Tabelle 1 in Tabelle2 kopiert werden sollen.

Vorab vielen Dank

Gruß Sven

  

Betrifft: AW: In Spalte Suchen und Zeile kopieren von: Sandra
Geschrieben am: 09.01.2018 14:02:54

Hallo Sven,

ein ähnliche Anfrage gab es heute schon. Schau mal hier

https://www.herber.de/forum/archiv/1600to1604/t1601006.htm#1601006

ob dir das weiter hilft.

Liebe Grüße
Sandra


  

Betrifft: AW: In Spalte Suchen und Zeile kopieren von: Sven
Geschrieben am: 10.01.2018 09:26:09

Guten Morgen,

danke für die Info, konnte es für meine Zwecke anpassen.

Gruß Sven


  

Betrifft: AW: In Spalte Suchen und Zeile kopieren von: Sven
Geschrieben am: 11.01.2018 08:14:08

Guten Tag,

hat mir noch jemand ein Tipp, wie ich das Makro anpassen muss, dass nicht in der Zeile gesucht und kopiert wird sondern in der Spalte gesucht und kopiert wird?

Sub In_Zeile_suchen_Spalte_kopieren()
    Dim TB1, TB2, TB3, TB4, TB5, TB6, LR1 As Double, LR2 As Double, LC As Integer, EZ1 As  _
Integer, EZ2 As Integer, EZ3 As Integer, EZ4 As Integer, EZ5 As Integer, EZ6 As Integer
    Dim Arr, Z, Spalte As Integer, ESp2 As Integer, ESp3 As Integer, ESp4 As Integer
    
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    EZ1 = 1 'Zeile in der gesucht wird
    EZ2 = 2 'Zielzeile für Daten
    ESp2 = 1 'erste ZielSpalte
    
    Arr = Array("Rückmeldenummer", "Identität") 'die Suchbegriffe für Rohdaten
    
    With WorksheetFunction
        LR1 = .Max(EZ1, TB1.Cells.SpecialCells(xlCellTypeLastCell).Row) 'letze Spalte des  _
gesamten Blattes
        LR2 = .Max(EZ2, TB2.Cells.SpecialCells(xlCellTypeLastCell).Row)
    
        'Reset ohne Überschriften
        TB2.Rows(EZ2).Resize(LR2 - EZ2 + 1).ClearContents
        
        If LR1 > EZ1 Then 'sind Werte vorhanden?
    
            For Each Z In Arr
                If .CountIf(TB1.Rows(EZ1), Z) > 0 Then 'Ist Suchbegriff in Zeile EZ1 =4  _
vorhanden?
                    Spalte = .Match(Z, TB1.Rows(EZ1), 0) 'in welcher Spalte steht der Begriff
                
                    'Übertragen ohne Überschrift
                    TB2.Cells(EZ2, ESp2).Resize(LR1 - EZ1 + 1).Value = _
                        TB1.Cells(EZ1 + 1, Spalte).Resize(LR1 - EZ1 + 1).Value
                    
                Else
                    'Fehlermeldung, wenn der Suchbegriff in Rohdaten nicht gefunden wird
                    MsgBox "Suchbegriff '" & Z & "' wurde nicht gefunden"
                End If
                
                ESp2 = ESp2 + 1 'nächste Spalte
                
            Next

        End If
        
    End With
   
End Sub



  

Betrifft: AW: Range.Find von: Fennek
Geschrieben am: 09.01.2018 15:00:50

Hallo,

sieh dir die M$-Hilfe zu Range.Find an, diese Methode ist recht flexibel (mehrfache Treffer, xlPart, formate).

mfg


Beiträge aus dem Excel-Forum zum Thema "In Spalte Suchen und Zeile kopieren"