Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Markos erstellen - definierte Werte in ein anderes Datenblatt kopieren
#1
Hallo in die Runde,

folgende Problematik: Ich habe eine Excel-Datei mit zwei Datenblättern "Datenanalyse (automatisch)" und "Datenspeicherung (automatisch).
Ich habe nun Werte aus dem Quelldatenblatt (Datenanalyse (automatisch)) die in das Zieldatenblatt (Datenspeicherung (automatisch)) kopiert werden sollen wenn
ich auf einen Button klicke. Die Werte sind dabei später durch verschiedene Formeln berechnet.

Immer wenn ich auf den Button klicke sollen die Daten kopiert werden und zwar in die nächst leere Spalte.

Ein Mitglied dieses Forums hat mir bereits ein Makros zukommen lassen, welches perfekt funktioniert. Alle in der Mustertabelle gelb markierten Werte werden kopiert und es wird immer
die nächst leere Spalte im Zieldatenblatt genutzt.

Nun möchte ich noch die grün markiert Werte in die definierten Zellen kopieren. Heißt den bestehenden Markos erweitern (wenn das geht). Ich hoffe es kann mir hierbei jemand helfen.

Sub x()
Dim arr As Variant
Dim i As Long
Dim j As Long
Dim col As Long

arr = Worksheets("Datenanalyse (automatisch)").Range("A1:F42")

With Worksheets("Datenspeicherung (automatisch)")
  col = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
  .Cells(1, col) = arr(3, 2)
  j = 2
  For i = 6 To 15
   
    .Cells(j, col) = arr(i, 6)
    j = j + 2
  Next i
  For i = 19 To 28
    .Cells(j, col) = arr(i, 6)
    j = j + 2
  Next
 
  For i = 32 To 42
    .Cells(j, col) = arr(i, 3)
    j = j + 1
  Next
End With
End Sub

Vielen Dank schon Mal an jeden der sich versucht!

VG Felix


Angehängte Dateien
.xlsm   Mustertabelle.xlsm (Größe: 32,2 KB / Downloads: 4)
Antworten Top
#2
Hallo


so?

Code:
Sub x()
    Dim arr As Variant
    Dim i As Long
    Dim j As Long
    Dim col As Long
   
    arr = Worksheets("Datenanalyse (automatisch)").Range("A1:F42")
   
    With Worksheets("Datenspeicherung (automatisch)")
        col = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
         .Cells(1, col) = arr(3, 2)
         j = 2
         For i = 6 To 15
         
            .Cells(j, col) = arr(i, 6)
            .Cells(j + 1, col) = arr(i, 5)
            j = j + 3
         Next i
         For i = 19 To 28
            .Cells(j, col) = arr(i, 6)
            .Cells(j + 1, col) = arr(i, 5)
            j = j + 3
         Next
       
         For i = 32 To 42
            .Cells(j, col) = arr(i, 3)
            j = j + 1
         Next
       
        .Columns(2).Copy
        .Columns(col).PasteSpecial Paste:=xlPasteFormats
        Application.CutCopyMode = False

    End With
End Sub


LG UweD
[-] Folgende(r) 1 Nutzer sagt Danke an UweD für diesen Beitrag:
  • FelixFelix29
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste