Advertisement
Rednaxela

Untitled

Apr 8th, 2024
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 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. ' Wert aus Zelle F1 des aktuellen Arbeitsblatts abfragen
  41. counter = ws.Range("F1").Value
  42.  
  43. ' Startzeile für das Einfügen der Daten in der letzten Spalte
  44. startRow = counter
  45.  
  46. ' Schleife für das Einfügen der Daten in die letzte Spalte
  47. For i = 1 To counter
  48. ' Wert aus der entsprechenden Zeile der letzten Spalte des aktuellen Arbeitsblatts kopieren
  49. newSheet.Range("K2").Value = newSheet.Range("K2").Value & "," & ws.Cells(startRow, 2).Value
  50. ' Wenn es nicht die letzte Zeile ist, dann ein Komma anhängen
  51. If i < counter Then
  52. newSheet.Range("K2").Value = newSheet.Range("K2").Value & ","
  53. End If
  54. ' Startzeile um 1 verringern
  55. startRow = startRow - 1
  56. Next i
  57.  
  58. End Sub
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement