Microsoft Excel

Herbers Excel/VBA-Archiv

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

Zelle suchen und bestimmte Spalten der Zeile copy


Betrifft: Zelle suchen und bestimmte Spalten der Zeile copy von: Sö M
Geschrieben am: 26.09.2016 17:04:01

Hallo,

ich möchte gerne dass das Makro sich aus einer bestimmten Zelle

- das Datum kopiert
- in ein anderes Sheet geht und nach dem Datum sucht (Spalte A) und festgelegt Spalten in der Zeile des Datums hart kopiert und dasselbe auf einem anderen Sheet nochmal.

Könnt ihr mir dabei helfen?

Vielen Dank Vorab

  

Betrifft: AW: Beispielmappe von: Werner
Geschrieben am: 26.09.2016 17:35:43

Hallo,

ohne Beispielmappe mit klaren Aussagen was wo gesucht werden soll sowie was dann wohin kopiert werden soll wird es wohl nichts.

Bei der bisherigen Beschreibung lässt sich nur sagen, ja das geht.

Gruß Werner


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 26.09.2016 17:47:48

Hallo Werner,

danke für deine Nachricht.

anbei eine Beispielmappe

In Sheet 1 soll sich das Makro das Datum ziehen
In Sheet 2 die SPalten in der Zeile wo das Datum gefunden wird die BLAU markiert sind hart kopieren (Werte)
In Sheet 3 dasselbe auch die blauen Spalten wo das Datum gefunden wurde hart kopieren (Werte)


KAnnst du mir da weiterhelfen?

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


  

Betrifft: AW: Beispielmappe von: Werner
Geschrieben am: 26.09.2016 18:02:29

Hallo,

so weit so gut.

Und wohin soll wie kopiert werden?

Blaue Spalten aus Blatt 2 in welches Blatt?
Ohne Lücken nebeneinander?
In welche Spalte?
In welche Zeile?
Immer in die erste freie Zeile im Zielblatt?
Was mit den blauen Spalten aus Blatt 3?
Wohin, neben die kopierten Spalten aus Blatt 2?

Das wäre noch zu klären.

Gruß Werner


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 26.09.2016 18:19:54

Hi Werner,

Eigentlich sollen die Blauen Spalten mit der Zeile wo das Datum gefunden wurde einfach nur hartkopiert werden also die Zellen markieren und kopieren und in die selben Zellen wieder einfügen als "Werte" (damit die Formeln aus den Zellen weg sind)

Danke


  

Betrifft: AW: Beispielmappe von: Werner
Geschrieben am: 26.09.2016 18:23:35

Hallo,

jetzt ist so weit alles klar, nur eine Frage noch:

Gehe ich Recht in der Annahme, dass in den nicht blauen Spalten ebenfalls Formeln stehen, die erhalten bleiben sollen?

Gruß Werner


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 26.09.2016 19:35:24

Genau richtig

Vielen dank


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 26.09.2016 18:20:22

Hi Werner,

Eigentlich sollen die Blauen Spalten mit der Zeile wo das Datum gefunden wurde einfach nur hartkopiert werden also die Zellen markieren und kopieren und in die selben Zellen wieder einfügen als "Werte" (damit die Formeln aus den Zellen weg sind)

Danke


  

Betrifft: AW: Beispielmappe von: Werner
Geschrieben am: 26.09.2016 19:36:54

Hallo,

jetzt habe ich doch noch eine Frage.

Kann das gesuchte Datum in den Blättern 2 und 3 mehrfach vorkommen?

Gruß Werner


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 26.09.2016 19:39:55

Hallo Werner,

nein das Datum kann nur einmal vorkommen.

Vielen dank Vorab!


  

Betrifft: AW: Beispielmappe von: Werner
Geschrieben am: 26.09.2016 20:23:16

Hallo,

sollte laufen...

Public Sub Werte()
Dim rngFund As Range
Dim vaSuchbegriff As Variant
vaSuchbegriff = Sheets("1").Range("E5").Value
If Not IsDate(vaSuchbegriff) Then
    MsgBox "Bitte ein gültiges Datum eintragen."
    Sheets("1").Range("E5") = ""
    Sheets("1").Range("E5").Select
    Exit Sub
End If
Set rngFund = Sheets("2").Columns(1).Find(vaSuchbegriff, LookIn:=xlValues, Lookat:= _
xlPart)
    If Not rngFund Is Nothing Then
        With Sheets("2")
            .Range(.Cells(rngFund.Row, 37), .Cells(rngFund.Row, 49)).Value = _
            .Range(.Cells(rngFund.Row, 37), .Cells(rngFund.Row, 49)).Value
            .Cells(rngFund.Row, 58).Value = .Cells(rngFund.Row, 58).Value
            .Range(.Cells(rngFund.Row, 61), .Cells(rngFund.Row, 66)).Value = _
            .Range(.Cells(rngFund.Row, 61), .Cells(rngFund.Row, 66)).Value
            .Range(.Cells(rngFund.Row, 71), .Cells(rngFund.Row, 74)).Value = _
            .Range(.Cells(rngFund.Row, 71), .Cells(rngFund.Row, 74)).Value
        End With
    Else
        MsgBox "Das Datum " & vaSuchbegriff & " wurde" & vbLf & _
        " in Blatt 2 nicht gefunden."
        Sheets("1").Range("E5") = ""
        Sheets("1").Range("E5").Select
    End If
Set rngFund = Sheets("3").Columns(1).Find(vaSuchbegriff, LookIn:=xlValues, Lookat:= _
xlPart)
    If Not rngFund Is Nothing Then
        With Sheets("3")
            .Range(.Cells(rngFund.Row, 3), .Cells(rngFund.Row, 6)).Value = _
            .Range(.Cells(rngFund.Row, 3), .Cells(rngFund.Row, 6)).Value
            .Range(.Cells(rngFund.Row, 8), .Cells(rngFund.Row, 11)).Value = _
            .Range(.Cells(rngFund.Row, 8), .Cells(rngFund.Row, 11)).Value
            .Range(.Cells(rngFund.Row, 13), .Cells(rngFund.Row, 16)).Value = _
            .Range(.Cells(rngFund.Row, 13), .Cells(rngFund.Row, 16)).Value
            .Range(.Cells(rngFund.Row, 20), .Cells(rngFund.Row, 23)).Value = _
            .Range(.Cells(rngFund.Row, 20), .Cells(rngFund.Row, 23)).Value
            .Range(.Cells(rngFund.Row, 25), .Cells(rngFund.Row, 28)).Value = _
            .Range(.Cells(rngFund.Row, 25), .Cells(rngFund.Row, 28)).Value
            .Range(.Cells(rngFund.Row, 30), .Cells(rngFund.Row, 33)).Value = _
            .Range(.Cells(rngFund.Row, 30), .Cells(rngFund.Row, 33)).Value
            .Range(.Cells(rngFund.Row, 37), .Cells(rngFund.Row, 40)).Value = _
            .Range(.Cells(rngFund.Row, 37), .Cells(rngFund.Row, 40)).Value
            .Range(.Cells(rngFund.Row, 42), .Cells(rngFund.Row, 45)).Value = _
            .Range(.Cells(rngFund.Row, 42), .Cells(rngFund.Row, 45)).Value
            .Range(.Cells(rngFund.Row, 47), .Cells(rngFund.Row, 50)).Value = _
            .Range(.Cells(rngFund.Row, 47), .Cells(rngFund.Row, 50)).Value
            .Range(.Cells(rngFund.Row, 52), .Cells(rngFund.Row, 57)).Value = _
            .Range(.Cells(rngFund.Row, 52), .Cells(rngFund.Row, 57)).Value
            .Range(.Cells(rngFund.Row, 59), .Cells(rngFund.Row, 62)).Value = _
            .Range(.Cells(rngFund.Row, 59), .Cells(rngFund.Row, 62)).Value
            .Range(.Cells(rngFund.Row, 64), .Cells(rngFund.Row, 67)).Value = _
            .Range(.Cells(rngFund.Row, 64), .Cells(rngFund.Row, 67)).Value
            .Range(.Cells(rngFund.Row, 71), .Cells(rngFund.Row, 74)).Value = _
            .Range(.Cells(rngFund.Row, 71), .Cells(rngFund.Row, 74)).Value
            .Range(.Cells(rngFund.Row, 76), .Cells(rngFund.Row, 79)).Value = _
            .Range(.Cells(rngFund.Row, 76), .Cells(rngFund.Row, 79)).Value
            .Range(.Cells(rngFund.Row, 81), .Cells(rngFund.Row, 84)).Value = _
            .Range(.Cells(rngFund.Row, 81), .Cells(rngFund.Row, 84)).Value
            .Range(.Cells(rngFund.Row, 88), .Cells(rngFund.Row, 91)).Value = _
            .Range(.Cells(rngFund.Row, 88), .Cells(rngFund.Row, 91)).Value
            .Range(.Cells(rngFund.Row, 93), .Cells(rngFund.Row, 96)).Value = _
            .Range(.Cells(rngFund.Row, 93), .Cells(rngFund.Row, 96)).Value
            .Range(.Cells(rngFund.Row, 98), .Cells(rngFund.Row, 101)).Value = _
            .Range(.Cells(rngFund.Row, 98), .Cells(rngFund.Row, 101)).Value
            .Range(.Cells(rngFund.Row, 105), .Cells(rngFund.Row, 108)).Value = _
            .Range(.Cells(rngFund.Row, 105), .Cells(rngFund.Row, 108)).Value
            .Range(.Cells(rngFund.Row, 110), .Cells(rngFund.Row, 113)).Value = _
            .Range(.Cells(rngFund.Row, 110), .Cells(rngFund.Row, 113)).Value
            .Range(.Cells(rngFund.Row, 115), .Cells(rngFund.Row, 118)).Value = _
            .Range(.Cells(rngFund.Row, 115), .Cells(rngFund.Row, 118)).Value
            .Range(.Cells(rngFund.Row, 122), .Cells(rngFund.Row, 125)).Value = _
            .Range(.Cells(rngFund.Row, 122), .Cells(rngFund.Row, 125)).Value
            .Range(.Cells(rngFund.Row, 127), .Cells(rngFund.Row, 130)).Value = _
            .Range(.Cells(rngFund.Row, 127), .Cells(rngFund.Row, 130)).Value
            .Range(.Cells(rngFund.Row, 132), .Cells(rngFund.Row, 135)).Value = _
            .Range(.Cells(rngFund.Row, 132), .Cells(rngFund.Row, 135)).Value
            .Range(.Cells(rngFund.Row, 139), .Cells(rngFund.Row, 142)).Value = _
            .Range(.Cells(rngFund.Row, 139), .Cells(rngFund.Row, 142)).Value
            .Range(.Cells(rngFund.Row, 144), .Cells(rngFund.Row, 147)).Value = _
            .Range(.Cells(rngFund.Row, 144), .Cells(rngFund.Row, 147)).Value
            .Range(.Cells(rngFund.Row, 149), .Cells(rngFund.Row, 152)).Value = _
            .Range(.Cells(rngFund.Row, 149), .Cells(rngFund.Row, 152)).Value
            .Range(.Cells(rngFund.Row, 167), .Cells(rngFund.Row, 169)).Value = _
            .Range(.Cells(rngFund.Row, 167), .Cells(rngFund.Row, 169)).Value
            .Range(.Cells(rngFund.Row, 172), .Cells(rngFund.Row, 174)).Value = _
            .Range(.Cells(rngFund.Row, 172), .Cells(rngFund.Row, 174)).Value
            .Range(.Cells(rngFund.Row, 177), .Cells(rngFund.Row, 179)).Value = _
            .Range(.Cells(rngFund.Row, 177), .Cells(rngFund.Row, 179)).Value
            .Range(.Cells(rngFund.Row, 187), .Cells(rngFund.Row, 189)).Value = _
            .Range(.Cells(rngFund.Row, 187), .Cells(rngFund.Row, 189)).Value
        End With
    Else
        MsgBox "Das Datum " & vaSuchbegriff & " wurde" & vbLf & _
        " in Blatt 3 nicht gefunden."
        Sheets("1").Range("E5") = ""
        Sheets("1").Range("E5").Select
    End If
End Sub
Gruß Werner


  

Betrifft: AW: Beispielmappe von: Sö M
Geschrieben am: 27.09.2016 17:07:03

Werner vielen Dank für deine Hilfe. Das läuft echt tadellos!

Echt super riesen Dankeschön


  

Betrifft: AW: Gerne u. Danke für die Rückmeldung. o.w.T. von: Werner
Geschrieben am: 27.09.2016 17:27:40




Beiträge aus den Excel-Beispielen zum Thema "Zelle suchen und bestimmte Spalten der Zeile copy"