Microsoft Excel

Herbers Excel/VBA-Archiv

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

Nach einem bestimmten Wert Suchen und Spalte kopie


Betrifft: Nach einem bestimmten Wert Suchen und Spalte kopie von: Sven
Geschrieben am: 23.11.2017 10:35:28

Hallo Zusammen,

ich würde gerne per Makro in Tabelle2 in Spalte A nach einem Bestimmten Wert der in Tabelle1 A1 steht suchen (Wert kann auch mehrmals vorkommen).

Bei einem oder mehreren Treffern soll die komplette Zeile in Tabelle 3 kopiert werden.

Kann mir hier jemand helfen?

Mit freundlichen Grüßen

Sven

  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Werner
Geschrieben am: 23.11.2017 10:58:14

Hallo Sven,

Public Sub aaa()
If WorksheetFunction.CountIf(Worksheets("Tabelle2").Columns(1) _
    , Worksheets("Tabelle1").Range("A1").Value) > 0 Then
    Worksheets("Tabelle2").Columns(1).Copy Worksheets("Tabelle3").Columns(1)
Else
    MsgBox "Suchwert nicht vorhanden."
End If
End Sub
Gruß Werner


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Sven
Geschrieben am: 23.11.2017 11:19:51

Hallo Werner,

danke für die schnelle Antwort.

Jedoch kopiert es mir mit diesem Makro die komplette Spalte A aus Tabelle2

Ich würde gerne die Zeilen aus Tabelle2 in denen der gesuchte Wert steht kopieren

Habe eine Testdatei unter folgendem Link abgelegt:

https://www.herber.de/bbs/user/117866.xlsm


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Werner
Geschrieben am: 23.11.2017 13:45:32

Hallo Sven,

da würde ich den Autofilter (per Makro) verwenden.
Ich bastel dir heute Abend mal was zusammen, komme vorher nicht dazu.

Lad deine Beispielmappe bitte noch mal als normale .xlsx hoch weil ich hier keine .xlsm herunterladen kann.

Gruß Werner


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Werner
Geschrieben am: 24.11.2017 00:04:34

Hallo Sven,

hier das Makro über den Autofilter, dürfte, je nach Datenmenge, um einiges schneller sein als eine Lösung mit Schleife.

Beim Makro bin ich davon ausgegangen, dass die Daten im Tabellenblatt 2 ab Zeile 2 beginnen (Zeile 1 Überschriften). Eingefügt wird in Tabelle 3 in Spalte A ab Zeile 2 (auch davon ausgehend, dass in Zeile 1 Überschriften stehen). Zudem wird in Tabelle 3 vor dem Kopieren die letzte belegte Zeile ermittelt und die Daten dann eine Zeile darunter eingefügt, damit die bereits vorhandenen Daten nicht überschrieben werden.

Public Sub Filtern_kopieren()
Dim loLetzte As Long

With Worksheets("Tabelle3")
    loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
End With

With Worksheets("Tabelle2")
    .Columns(1).AutoFilter Field:=1, Criteria1:=Worksheets("Tabelle1").Range("A1")
        With .AutoFilter.Range
            .Resize(.Rows.Count - 1).Offset(1, 0).EntireRow.Copy _
            Worksheets("Tabelle3").Cells(loLetzte, 1)
        End With
    If .AutoFilterMode Then .AutoFilterMode = False
End With
End Sub
Gruß Werner


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Sven
Geschrieben am: 24.11.2017 08:51:24

Guten Morgen Werner,

ich habe die Testdatei nochmal unter folgendem Link hochgeladen:

https://www.herber.de/bbs/user/117881.xlsx

Das 2. Makro von dir funktioniert etwas besser als das vorherige, jedoch werden hier die ersten Spalten aus Tabelle2 kopiert und nicht die Spalten in denen der Suchwert vorkommt.

Ziel des Makros sollte sein die Zeilen, in den der Suchwert vorkommt (gelb Markiert), von Tabelle2 in Tabelle3 zu kopieren.

Gruß Sven


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Werner
Geschrieben am: 24.11.2017 12:31:59

Hallo Sven,

keine Ahnung was du mir sagen möchtets, genau das macht das Makro.
Ich habe jetzt nur noch geändert, dass die Werte kopiert werden.

https://www.herber.de/bbs/user/117889.xlsm

Gruß Werner


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Sven
Geschrieben am: 24.11.2017 13:46:05

Hallo Werner,

habe es jetzt nochmal mit deiner Datei versucht und nun funktioniert es, danke für deine Hilfe.

Gruß Sven


  

Betrifft: Gerne u. Danke für die Rückmeldung. o.w.T. von: Werner
Geschrieben am: 24.11.2017 14:33:57




  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Sven
Geschrieben am: 24.11.2017 09:21:28

Habe noch vergessen zu sagen, dass nur die Werte eingefügt werden sollten (ohne Formel)


  

Betrifft: AW: Nach einem bestimmten Wert Suchen und Spalte kopie von: Ulf
Geschrieben am: 23.11.2017 14:53:36

Vorschlag:

Sub ZeilenKopieren()
 Dim Zeile As Long
 Dim ZeileMax As Long
 Dim n As Long

With Tabelle2
 ZeileMax = .UsedRange.Rows.Count
 n = 1
 For Zeile = 2 To ZeileMax
  If .Cells(Zeile, 1).Value = Tabelle1.Range("A1") Then
   .Rows(Zeile).Copy Destination:=Tabelle3.Rows(n)
   n = n + 1
  End If
 Next Zeile
End With
End Sub



Beiträge aus den Excel-Beispielen zum Thema "Nach einem bestimmten Wert Suchen und Spalte kopie"