Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
VBA Bereich kopieren
01.02.2016 16:19:17
Marius
Hallo Zusammen,
ich habe bereits folgenden Code um einen Zellbereich von Tabellenblatt "Eingabe" in "Rohdaten" zu kopieren.
  • 
    Sub WerteSpeichern()
    Const cstrRange As String = "A7:A36"
    Dim lngZeile As Long
    Dim intSpalte As Long
    Dim rngCell As Range
    With Worksheets("Rohdaten")
    lngZeile = .UsedRange.Row + .UsedRange.Rows.Count
    intSpalte = 2
    For Each rngCell In Range(cstrRange)
    .Cells(lngZeile, intSpalte) = rngCell.Value
    intSpalte = intSpalte + 1
    Next
    'Range(cstrRange).ClearContents
    Worksheets("Eingabe").Activate
    End With
    End Sub
    

  • Dies funktioniert soweit.
    Wie bekomme ich es aber hin, dass er mir ebenso die Bereich B7:B36 + C7:C37 in Zeile 3 bzw. Zeile 4 kopiert?
    Das aktuelle Datum + Uhrzeit bräuchte ich in Zelle A2, bei einem weiteren Eintrag dann alles ab Zeile 5-7 usw...
    Kann mir hier jemand weiterhelfen?
    VIelen Dank

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA Bereich kopieren
    01.02.2016 17:13:55
    Michael
    Hi Marius,
    probier's mal damit:
    Option Explicit
    ' bitte in ein MODUL speichern (Einfügen/Modul)
    Sub WerteSpeichern()
    Const cstrRange As String = "A7:C37"
    Dim lngZeile As Long, lngSpalte As Long
    lngZeile = Worksheets("Rohdaten").UsedRange.Row + _
    Worksheets("Rohdaten").UsedRange.Rows.Count
    lngSpalte = 2
    Worksheets("Eingabe").Range(cstrRange).Copy
    Worksheets("Rohdaten").Cells(lngZeile, lngSpalte).PasteSpecial _
    Paste:=xlPasteValues, Transpose:=True
    Application.CutCopyMode = False
    Worksheets("Rohdaten").Cells(lngZeile, 1) = Now()
    End Sub
    
    Daß Du bis A36 und B36, aber C37 kopieren willst, habe ich jetzt glattgebügelt, das Makro kopiert immer bis 37.
    Schöne Grüße,
    Michael

    Anzeige
    AW: VBA Bereich kopieren
    01.02.2016 17:26:53
    Marius
    Hallo Michael,
    vielen Dank, das funktioniert bestens.
    Gibt es auch eine Möglichkeit, mir die gespeicherten Bereiche wieder in meine Eingabe zurückzuholen?
    Heißt: Datum auswählen und die gespeicherten Werte wieder eintragen?
    Vielen Dank und liebe Grüße

    AW: VBA Bereich kopieren
    01.02.2016 18:09:59
    Michael
    Hi Marius,
    Du suchst die Zelle mit dem Datum mit .find - hm, hm.
    Das Problem ist, daß Du Datum UND Zeit haben wolltest, und das auf die Sekunde genau mit .find zu finden, ist fast aussichtslos. D.h., man müßte eine Liste der Uhrzeiten zum jeweiligen Datum erstellen, damit man das dann auswählen kann.
    Ist mir jetzt aber zu viel Akt, deshalb habe ich es so gemacht, daß die Kopieraktion ausgelöst wird, wenn Du in "Rohdaten" auf eine Zelle in Spalte doppelklickst (die darf aber nicht leer sein).
    Das ist ja auch fix zu bedienen, hier kannst Du direkt die Excel-Suchfunktion verwenden.
    Im Tabellenblatt "Rohdaten":
    Option Explicit
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 And Target.Text  "" Then
    Target.Offset(0, 1).Resize(3, 31).Copy
    Worksheets("Eingabe").Cells(7, 1).PasteSpecial _
    Paste:=xlPasteValues, Transpose:=True
    Application.CutCopyMode = False
    Cancel = True
    End If
    End Sub
    
    Die ganze Datei: https://www.herber.de/bbs/user/103205.xls
    Schöne Grüße,
    Michael

    Anzeige
    Nachtrag: Spalte "A" - aufs Datum halt - owT
    02.02.2016 15:40:20
    Michael

    314 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige