Office: Datenaufnahme per VBA kopieren und sichern

Helfe beim Thema Datenaufnahme per VBA kopieren und sichern in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen, habe folgende Problematik: im ersten Arbeitsblatt "Aufnahme" habe ich bereits mein gesammelten Daten. Diese Daten sollen ab A2:M2... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von JanFr, 14. September 2019.

  1. Datenaufnahme per VBA kopieren und sichern


    Hallo Zusammen,

    habe folgende Problematik:

    im ersten Arbeitsblatt "Aufnahme" habe ich bereits mein gesammelten Daten. Diese Daten sollen ab A2:M2 (Liste kann beliebig lang sein), je nach Aufnahme unterschiedlich lang, kopiert werden ins zweite Arbeitsblatt "Historie". Dabei soll erkannt werden, wie lang die Historie bereits ist, um an die nächste freie Zelle in Spalte A mit der nächsten kopierten Aufnahme anzuknüpfen. Dann sollen anhand der Aufnahmedati der neueste Aufnahmeblock oben stehen (vielleicht per Sortierung)
    Zuletzt der Sprung wieder zurück in das Arbeitsblatt Aufnahme.

    Diese Befüllung soll per CommandButton inkls. VBA erfolgen.

    Habt Ihr eine gute Idee?

    bisheriger code war:

    Sub daten_kopieren2()


    Range("a2:m2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("Zwischenspeicher").Visible = True
    Sheets("Zwischenspeicher").Select
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _xlNone, SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("N12").Select

    Dim i, j As Integer

    For i = 2 To 600
    For j = 1 To 13
    If Cells(i, j) "" Then
    Cells(i, j).Copy
    ThisWorkbook.Sheets("Historie").Activate
    Cells(i, j).Insert
    ThisWorkbook.Sheets("Aufnahme").Activate
    End If
    Next j
    Next i
    Application.CutCopyMode = False


    Range("N22").Select
    Sheets("Historie").Select

    Range("N2").Select


    Sheets("Aufnahme").Select
    Range("N4").Select

    Sheets("Historie").Select

    Range("N2").Select
    Sheets("Aufnahme").Select
    Range("N5").Select


    Sheets("Zwischenspeicher").Select
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Aufnahme").Select
    Range("N8").Select


    End Sub


    allerdings kopiert er hier vorher noch in einen Zwischenspeicher...

    das möchte ich ebenfalls umgehen...

    LG Jan

    :)
     
  2. Moin Jan,

    hatte gerade Lust.
    Bis hierhin hab Ich Dir schonmal was.
    Den Button oder weiterführende Änderungen liegen nun bei Dir.

    Code:
     
  3. Moin,

    @marco: Lerne immer gerne mal dazu: warum benutzt Du für die Variablenzuweisung LET?
     
  4. Datenaufnahme per VBA kopieren und sichern

    Moin Regina,

    weil es schön macht *angel
     
  5. *grins *grins *grins
     
  6. \@derHöpp:
    Nicht gesehen, Danke.
     
  7. Datenaufnahme per VBA kopieren und sichern

    Perfekte Lösung!!!

    Super, Vielen Dank.

    Schnell und genauso, wie ich es mir vorgestellt habe.

    Eine Frage noch, funktioniert der Code, egal wie viele Spalten ich habe?

    Habe nämlich ähnliche Dateien, in die ich den Code implementieren möchte.

    LG und herzlichen Dank

    Jan
     
  8. gerne.

    In Deinem Fall verwenden wir die Eigenschaft .UsedRange.
    Ein Auszug aus der Onlinehilfe:
    Bedingt, lässt sich Deine Frage mit Ja beantworten.

    Was sagt uns das?
    Just Do it !
    *wink.gif*
     
  9. wie cool :-)!

    eine letzte Frage noch zum Thema, dann setze ich auf erledigt....

    Wenn ich die Spalten, die kopiert werden sollen, eingrenzen würde wollen, müsste ich dann die offsets verändern?

    LG Jan
     
  10. Du müsstest vorher ein geeignetes Range-Object erzeugen und diese Zeile verändern:

    Code:
     
  11. Hi, vielen Dank für die schnelle Antwort.

    Nun stehe ich aber etwas auf dem Schlauch, glaube ich....

    Möchte praktisch den kopierten Bereich von Spalte A bis Spalte F haben, aber die Zeilen sollen doch noch variabel sein. wäre das hier richtig?

    Dim wkb As Workbook
    Dim wksHis As Worksheet, wksAuf As Worksheet
    Dim arr() As rng.object (so hier?)
    Dim lngLastRow As Long
    '
    On Error GoTo err
    '
    Call TurnOffFunctionality
    '
    Set wkb = ThisWorkbook
    Set wksHis = wkb.Worksheets(m_sHistorie)
    Set wksAuf = wkb.Worksheets(m_sAufnahme)
    Set rng.object = range(columns (1), columns(6)) (so hier?)
    '
    Let arr = (wksAuf.UsedRange.Offset(1, 0)) --> rng.object (so hier?)
    '
    With wksHis
    Let lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    Let .Cells(lngLastRow, 1).Resize(UBound(arr, 1), UBound(arr, 2)) = arr
    End With
    '
    err:
    If err.Number 0 Then
    MsgBox err.Number & vbCrLf & err.Description
    End If
    '
    Call TurnOnFunctionality
    '
    Erase arr
    Set wksHis = wkb.Worksheets(m_sHistorie)
    Set wksAuf = wkb.Worksheets(m_sAufnahme)
    Set wkb = ThisWorkbook
    End Sub

    Public Sub TurnOffFunctionality()
    Application.Calculation = xlCalculationManual
    Application.DisplayStatusBar = False
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    End Sub
    Public Sub TurnOnFunctionality()
    Application.Calculation = xlCalculationAutomatic
    Application.DisplayStatusBar = True
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    End Sub
     
  12. Datenaufnahme per VBA kopieren und sichern

    Naja fast *wink.gif*

    Versuch mal folgendes:
    Code:
     
  13. Hi, vielen Dank.

    Da war ich ja noch meilenweit von weg :-)

    Set rng = .Range(.Cells(1, 1), .Cells(.Rows.Count, 6).End(xlUp)) 'Bereich: A1 bis F?

    die Daten fangen ab A2 bis F2 an.

    wäre das dann

    Set rng = .Range(.Cells(1, 2), .Cells(.Rows.Count, 6).End(xlUp)) 'Bereich: A2 bis F?
     
  14. Ne, da wir das hier dann mit offset regeln

    Code:
    Hinweis:
    .Cells(< diese Stelle Zeile >, < diese Stelle Spalte >)
     
Thema:

Datenaufnahme per VBA kopieren und sichern

Die Seite wird geladen...
  1. Datenaufnahme per VBA kopieren und sichern - Similar Threads - Datenaufnahme VBA kopieren

  2. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  7. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  8. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden