Advertisement
Rednaxela

Untitled

Mar 25th, 2024
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. Sub DatenKopieren()
  2.  
  3. Dim aktA As Worksheet ' Aktuelles Arbeitsblatt
  4. Dim letzA As Worksheet ' Letztes Arbeitsblatt
  5. Dim letzteZeile As Long ' Letzte belegte Zeile in aktA
  6. Dim i As Long ' Zählvariable für Schleife
  7. Dim rowOffset As Long ' Offset für das Einfügen in letzA
  8.  
  9. ' Aktuelles Arbeitsblatt zuweisen
  10. Set aktA = ThisWorkbook.Sheets(3) ' Setze das aktuelle Arbeitsblatt auf das dritte Arbeitsblatt
  11.  
  12. ' Letztes Arbeitsblatt hinzufügen
  13. Set letzA = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
  14.  
  15. ' Kopieren der Zeile 141 von aktA nach letzA in Zeile 1
  16. aktA.Rows(141).Copy Destination:=letzA.Rows(1)
  17.  
  18. ' Anzahl der belegten Zeilen in aktA bestimmen
  19. letzteZeile = aktA.Cells(aktA.Rows.Count, "A").End(xlUp).Row
  20.  
  21. ' Kopieren von Zellen B2 bis B? aus aktA nach letzA entsprechend der Regel
  22. For i = 2 To letzteZeile - 5 ' -5, da die Nummerierung bei A6 beginnt und wir bis zur letzten Nummerierung kopieren wollen
  23. Select Case i
  24. Case 2
  25. letzA.Cells(2, "C").Value = aktA.Cells(2, "B").Value
  26. Case 3
  27. letzA.Cells(2, "J").Value = aktA.Cells(3, "B").Value
  28. Case 4
  29. letzA.Cells(2, "Q").Value = aktA.Cells(4, "B").Value
  30. Case Else
  31. letzA.Cells(i - 1, "K").Value = aktA.Cells(i, "A").Value & vbCrLf & aktA.Cells(i, "B").Value
  32. End Select
  33. Next i
  34.  
  35. ' Kopieren von Zellen E6 bis E? aus aktA nach letzA entsprechend der Regel
  36. rowOffset = letzA.Cells(letzA.Rows.Count, "H").End(xlUp).Row - 1 ' Offset für das Einfügen in letzA
  37. For i = 6 To letzteZeile
  38. letzA.Cells(i + rowOffset, "H").Value = aktA.Cells(i, "E").Value
  39. Next i
  40.  
  41. End Sub
  42.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement