Advertisement
Rednaxela

Untitled

Apr 8th, 2024
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. Sub DatenKopieren()
  2.  
  3. Dim ws As Worksheet ' Variable zur Speicherung des aktuellen Arbeitsblatts
  4. Dim newSheet As Worksheet ' Variable zur Speicherung des neu erstellten Arbeitsblatts
  5. Dim lastSheet As Integer ' Index des letzten Arbeitsblatts
  6. Dim i As Integer ' Zählvariable für die Schleife
  7. Dim newRow As Integer ' Neue Zeile für das Einfügen der Daten
  8. Dim counter As Integer ' Zähler für die Anzahl der Schleifendurchläufe
  9. Dim startRow As Integer ' Startzeile für die Daten in der letzten Spalte
  10.  
  11. ' Neues Arbeitsblatt am Ende der Arbeitsmappe einfügen
  12. Set newSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
  13.  
  14. ' Reihe 141 aus Arbeitsblatt 1 in das neu erstellte Arbeitsblatt kopieren
  15. ThisWorkbook.Sheets(1).Rows(141).Copy Destination:=newSheet.Range("A1")
  16.  
  17. ' Index des letzten Arbeitsblatts bestimmen
  18. lastSheet = ThisWorkbook.Sheets.Count - 1
  19.  
  20. ' Durchlaufen der Arbeitsblätter ab dem dritten bis zum vorletzten Arbeitsblatt
  21. For i = 3 To lastSheet
  22. Set ws = ThisWorkbook.Sheets(i)
  23.  
  24. ' Neue Zeile für das Einfügen der Daten bestimmen
  25. newRow = i - 1
  26.  
  27. ' Wert aus Zelle A2 des aktuellen Arbeitsblatts in das neu erstellte Arbeitsblatt kopieren
  28. newSheet.Cells(newRow, 2).Value = ws.Range("A2").Value
  29.  
  30. ' Wert aus Zelle B2 des aktuellen Arbeitsblatts in das neu erstellte Arbeitsblatt kopieren
  31. newSheet.Cells(newRow, 3).Value = ws.Range("B2").Value
  32.  
  33. ' Wert aus Zelle B3 des aktuellen Arbeitsblatts in das neu erstellte Arbeitsblatt kopieren
  34. newSheet.Cells(newRow, 10).Value = ws.Range("B3").Value
  35.  
  36. ' Wert aus Zelle B4 des aktuellen Arbeitsblatts in das neu erstellte Arbeitsblatt kopieren
  37. newSheet.Cells(newRow, 17).Value = ws.Range("B4").Value
  38. Next i
  39.  
  40. ' Durchlaufen der Arbeitsblätter ab dem dritten bis zum vorletzten Arbeitsblatt rückwärts
  41. For i = lastSheet To 3 Step -1
  42. Set ws = ThisWorkbook.Sheets(i)
  43.  
  44. ' Wert aus Zelle F1 des aktuellen Arbeitsblatts abfragen
  45. counter = ws.Range("F1").Value
  46.  
  47. ' Startzeile für das Einfügen der Daten in der letzten Spalte
  48. startRow = counter
  49.  
  50. ' Schleife für das Einfügen der Daten in die letzte Spalte
  51. For j = 1 To counter
  52. ' Wert aus der entsprechenden Zeile der letzten Spalte des aktuellen Arbeitsblatts kopieren
  53. newSheet.Cells(newRow, j + 9).Value = ws.Cells(startRow, 2).Value
  54. ' Startzeile um 1 verringern
  55. startRow = startRow - 1
  56. Next j
  57.  
  58. ' Neue Zeile für das Einfügen der Daten bestimmen
  59. newRow = newRow + 1
  60. Next i
  61.  
  62. End Sub
  63.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement