Microsoft Excel

Herbers Excel/VBA-Archiv

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

VBA - gezieltes Suchen, Kopieren und Einfügen

Betrifft: VBA - gezieltes Suchen, Kopieren und Einfügen von: Kristina K
Geschrieben am: 04.11.2014 17:08:19

Hallo zusammen,

ich bin ein kompletter Anfänger was VBA und Makros betrifft. Ich habe nun schon eine Weile nach einem entsprechenden Quellcode oder einer Anleitung im Internet gesucht, jedoch leider ohne Erfolg.

Folgendes möchte ich machen. Ich habe eine Tabelle mit einem Tabellenblatt 1,2,3 und 4. Aus dem Tabellenblatt 3 möchte ich nun die Spalte E (Zeile 10-150) durchsuchen nach dem Wort "manual". Aus den Zeilen, wo das Wort "manual" gefunden wird sollen dann die Werte aus den Spalten A,B,C,D,F,G,H,I,J,K,L,M,N,O kopiert werden in das Tabellenblatt 4 und zwar in die Spalten A-N, angefangen in Zeile 3.

Kann mir irgendjemand helfen??? Und wie bringe ich den Quellcode in Excel 2013 mit VBA dann zum laufen? Wie speicher ich ihn und wie wende ich ihn an?

Ich bin für jegliche Hilfe dankbar!

  

Betrifft: AW: VBA - gezieltes Suchen, Kopieren und Einfügen von: Matze Matthias
Geschrieben am: 04.11.2014 17:43:22

Hallo Kristina,
kannst/darfst du diese Datei hier einstellen oder mach eine Musterdatei des Aufbaus und stell die hier ein, dann kann man das dort gleich einbauen so wie du es haben möchtest.

Gruß Matze


  

Betrifft: AW: VBA - gezieltes Suchen, Kopieren und Einfügen von: Crazy Tom
Geschrieben am: 04.11.2014 17:47:56

Hallo Kristina

das könnte so gehen

Option Explicit

Sub kopieren()
    Dim Suchergebnis As Range
    Dim lngZielZeile As Long
    Dim Suchwert As String
    Dim lngZaehler As Long
    Dim firstAddress
    Dim intSpalte As Integer
    lngZielZeile = 3
    Suchwert = "manual"
    lngZaehler = 0
    With Sheets("Tabelle3")
        Set Suchergebnis = .Range("E10:E150").Find(Suchwert, LookIn:=xlValues, lookat:=xlWhole)
        If Not Suchergebnis Is Nothing Then
            firstAddress = Suchergebnis.Address
            Do
                For intSpalte = 1 To 4
                    Sheets("Tabelle4").Cells(lngZielZeile, intSpalte) = .Cells(Suchergebnis.Row, _
 intSpalte)
                Next
                For intSpalte = 5 To 14
                    Sheets("Tabelle4").Cells(lngZielZeile, intSpalte) = .Cells(Suchergebnis.Row, _
 intSpalte + 1)
                Next
                lngZielZeile = lngZielZeile + 1
                lngZaehler = lngZaehler + 1
                Set Suchergebnis = .Range("E10:E150").FindNext(Suchergebnis)
            Loop While Not Suchergebnis Is Nothing And Suchergebnis.Address <> firstAddress
                MsgBox "Es wurden zum Suchwert " & Suchwert _
                    & vbCrLf & lngZaehler & " Datensätze kopiert"
            Else
                MsgBox "Kein Eintrag"
        End If
    End With
End Sub

um den Code einzufügen, drückst du Alt und F11
in dem Fenster das dann aufgeht sollte auf der linken Seite der Projektexplorer zu sehen sein
in der oberen Zeile steht "Einfügen" dort fügst du dann zu deinem Projekt ein Modul hinzu
das Modul wird dann wahrscheinlich Modul1 heißen
in dieses Modul kopierst du den Code
dann wechselst du wieder in deine Exceltabelle und erstellst dann eine Schaltfläche
dieser Schaltfläche weist du dann das Makro zu

MfG Tom


 

Beiträge aus den Excel-Beispielen zum Thema "VBA - gezieltes Suchen, Kopieren und Einfügen"