Microsoft Excel

Herbers Excel/VBA-Archiv

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

Text in Spalte suchen und Spalte kopiere

Betrifft: Text in Spalte suchen und Spalte kopiere von: Samy
Geschrieben am: 23.10.2020 12:05:29

Hallo mein Name ist Samy, bin nicht grad der Excel/VBA Spezialist doch verstehe doch schon ein paar Sachen.
Dieses Forum hat mir bisher sehr viel geholfen bei meinen Problemstellungen, dazu mal vielen Dank.

Leider kommen ich nun ohne zu fragen nicht mehr weiter und bräuchte hierbei einen Rat.

Mit dem untenstehenden VBA suche ich in einer externen Datei einen Text in einer Spalte. In diesem Beispiel das Wort "MVR". Wird der Text gefunden kopiert er mit die ganze Spalte in meine aktuelle Mappe, das klappt eigentlich alles.

Nur leider bekomme ich es nicht hin das nur die Werte ohne Formate einfügt werden, auch das nur ein Bereich dieser Spalte z.B. aus dieser Spalte den Bereich 10:1000 ausgelesen bzw. kopiert werden.

Wäre super wenn mir da jemand und die Arme greifen könnte :-)

Sub Werte_Holen()

Application.ScreenUpdating = False

Dim Dateiname As String
Dim ws As Workbook
Dim Treffer As Range

Dateiname = Sheets("load_data").Range("H8")
Set ws = Workbooks.Open(Filename:=Dateiname)
Set Treffer = ws.Worksheets("transferPROD").Rows(19).Find(what:="MVR", lookat:=xlWhole)
Worksheets("transferPROD").Columns(Treffer.Column).Copy Destination:=ThisWorkbook.Worksheets(" _
Messprotokoll QC").Range("MVR")

ws.Close savechanges:=False

Application.ScreenUpdating = True

End

Vielen Dank, gruss Samy

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Werner
Geschrieben am: 23.10.2020 12:52:24

Hallo,

so:
Sub Werte_Holen()
Dim Dateiname As String, ws As Workbook, Treffer As Range

Application.ScreenUpdating = False
Dateiname = Sheets("load_data").Range("H8")

Set ws = Workbooks.Open(Filename:=Dateiname)
With ws.Worksheets("transferPROD")
    Set Treffer = .Rows(19).Find(what:="MVR", LookIn:=xlValues, lookat:=xlWhole)
    If Not Treffer Is Nothing Then
        .Range(.Cells(10, Treffer.Column), .Cells(1000, Treffer, Column)).Copy
        ThisWorkbook.Worksheets("Messprotokoll QC").Range("MVR").PasteSpecial Paste:= _
xlPasteValues
    Else
        MsgBox "Fehler: Der Suchbegriff wurde nicht gefunden."
    End If
End With

ws.Close savechanges:=False
Set Treffer = Nothing
Application.CutCopyMode = False
End
Gruß Werner

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Samy
Geschrieben am: 23.10.2020 13:08:09

Hallo Werner,

Vielen Dank für deine Antwort.

Leider bekomme ich einen Laufzeitfehler 450: Falsche Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft.

Gruss Samy

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Werner
Geschrieben am: 23.10.2020 13:23:13

Hallo,

und in welcher Codezeile denn bitte?

Gruß Werner

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Samy
Geschrieben am: 23.10.2020 13:28:39

Hallo Werner,
.Range(.Cells(10, Treffer.Column), .Cells(1000, Treffer, Column)).Copy
Gruss Samy

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Werner
Geschrieben am: 23.10.2020 13:32:19

Hallo,

da ist mit bei der zweiten Cells Anweisung ein Komma rein gerutscht. Das hat da aber nichts zu suchen, da gehört ein Punkt hin.
statt:
.Range(.Cells(10, Treffer.Column), .Cells(1000, Treffer, Column)).Copy

so:
.Range(.Cells(10, Treffer.Column), .Cells(1000, Treffer.Column)).Copy
Gruß Werner

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Samy
Geschrieben am: 23.10.2020 14:04:25

Hallo Werner,

Herzlichen Dank für deine Hilfe, es funktioniert! Was für eine Erleichterung :-)

Jetzt habe ich aber was bemerkt... ist es denn auch möglich dass das kopieren funktioniert ohne das man in das Sheet springt (wenn man sich auf einem anderen Sheet befindet) und der definierte Zellenbereich aktiviert ist?

Also sozusagen, die Werte holt ohne das man was merkt?

Gruss Samy

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Werner
Geschrieben am: 23.10.2020 14:55:32

Hallo,

was bitte meinst du mit "dass man in das Sheet springt"?

Bei dem Code "springt" niemand in irgendein Sheet.

Gruß Werner

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Samy
Geschrieben am: 23.10.2020 15:18:46

Hallo Werner,
Danke für deine Geduld!

Ich meine das so:

Wenn ich z.B. in der Tabelle2 bin, den Code laufen lasse, springt das Fenster Tabelle1 auf wo die Daten hin kopiert worden sind.

Gruss Samy

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Werner
Geschrieben am: 23.10.2020 15:27:03

Hallo,

dann zeig mal deinen Code. Mit meinem Code springt da gar nix irgendwo hin.

Gruß Werner

Betrifft: AW: Text in Spalte suchen und Spalte kopiere
von: Samy
Geschrieben am: 23.10.2020 15:56:39

Hallo Werner,

ich habe genau diesen Code drin.

Zusätzlich habe ich am Schluss noch den sub ZWLeeren aufgerufen um den Zwischenspeicher zu leeren, da jedes mal die Meldung kommt das der Zwischenspeicher viele Daten drin hat und ob der gelöscht werden soll oder nicht.

Aber auch ohne ZWleeren passiert das.

Unten habe ich die Dateien mal hochgeladen.
Sub Werte_Holen()
        Dim Dateiname As String, ws As Workbook, Treffer As Range
        
        Application.ScreenUpdating = False
        Dateiname = Sheets("load_data").Range("H8")
        
        Set ws = Workbooks.Open(Filename:=Dateiname)
        With ws.Worksheets("transferPROD")
            Set Treffer = .Rows(19).Find(what:="MVR", LookIn:=xlValues, lookat:=xlWhole)
            If Not Treffer Is Nothing Then
                .Range(.Cells(20, Treffer.Column), .Cells(1000, Treffer.Column)).Copy
                ThisWorkbook.Worksheets("Messprotokoll QC").Range("MVR").PasteSpecial Paste:= _
        xlPasteValues
            Else
                MsgBox "Fehler: Der Suchbegriff wurde nicht gefunden."
            End If
        End With
        
Call ZWLeeren
        
        ws.Close savechanges:=False
        Set Treffer = Nothing
        Application.CutCopyMode = False
        End Sub
        

Hier werden die Werte hin kopiert:
https://www.herber.de/bbs/user/141043.xlsm

Von dieser Datei werden die Werte gelesen:
https://www.herber.de/bbs/user/141044.xlsm

Vielen Dank!!!

Lg Samy

Beiträge aus dem Excel-Forum zum Thema "Text in Spalte suchen und Spalte kopiere"