Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1880to1884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Code ändern

VBA Code ändern
24.04.2022 11:22:32
Bogdan
Hallo,
kann mir jemand helfen den Code umzuschreiben?
Ursprünglich wurde auf Zeile 26 kopiert. Nun soll ab Zeile 15 kopiert werden. Kann mir jemand den Code anpassen. Die oberen Zeilen Verstehe ich (an den Stellen wo 27/>26 steht). Weiter unten mit 11,12,13 leider nicht mehr ;)
Wäre über Tipps Dankbar!
Option Explicit

Sub Zusammenfassen()
Dim wks As Worksheet, wksT As Worksheet
Dim vRow As Variant
Dim iRowL As Integer, iRowT As Integer, iRow As Integer, iRowA As Integer
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wksT = Worksheets("Zusammenfassung")
wksT.Rows("27:" & wksT.Rows.Count).ClearContents
For Each wks In ThisWorkbook.Worksheets
If wks.Name Like "KW##" Then
iRowL = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row
If iRowL > 26 Then
iRowT = wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row + 1
wks.Rows(27 & ":" & iRowL).Copy wksT.Cells(iRowT, 1)
End If
End If
Next wks
wksT.Cells.Validation.Delete
iRowL = wksT.Cells(wksT.Rows.Count, 10).End(xlUp).Row
For iRow = 2 To iRowL
wksT.Cells(iRow, 13).Value = wksT.Cells(iRow, 11).Value + wksT.Cells(iRow, 12).Value
Next iRow
ERRORHANDLER:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code ändern
24.04.2022 11:47:43
ralf_b

Sub Zusammenfassen()
Dim wks As Worksheet, wksT As Worksheet
Dim vRow As Variant
Dim lLetzteBenutzteZeile As Long, lErsteFreieZeileZiel As Long, iRow As Long, iRowA As Long
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wksT = Worksheets("Zusammenfassung")
wksT.Rows("27:" & wksT.Rows.Count).ClearContents 'hier 15
For Each wks In ThisWorkbook.Worksheets
If wks.Name Like "KW##" Then
lLetzteBenutzteZeile = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row
If lLetzteBenutzteZeile > 26 Then 'hier 15
lErsteFreieZeileZiel = wksT.Cells(wksT.Rows.Count, 1).End(xlUp).Row + 1
'kopiervorgang Zeile 27 bis letzte Zeile nach Zielblatt
wks.Rows(27 & ":" & lLetzteBenutzteZeile).Copy wksT.Cells(lErsteFreieZeileZiel, 1)
End If
End If
Next wks
wksT.Cells.Validation.Delete  'datenüberprüfung im Ziel löschen
'Letzte benutzte Zeile in Spalte 10 des Zielblattes
lLetzteBenutzteZeile = wksT.Cells(wksT.Rows.Count, 10).End(xlUp).Row
For iRow = 2 To lLetzteBenutzteZeile
' Summe aus Spalte 11 und 12 in Spalte 13  im Zielblatt
wksT.Cells(iRow, 13).Value = wksT.Cells(iRow, 11).Value + wksT.Cells(iRow, 12).Value
Next iRow
ERRORHANDLER:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub

Anzeige
AW: VBA Code ändern
24.04.2022 14:50:55
Bogdan
Ursprünglich waren die Tabellen nicht untereinander, sondern nur auf dem Tabellenblatt "Zusammenfassung" nebeneinander angeordnet. Ab Spalte J
Kann das sein, dass der untere Code (mit 11,12,13 für Spalten) noch dafür drin ist und ich diesen löschen könnte (ab 'Letzte benutzte Zeile in Spalte 10 des Zielblattes)?
Aktuell ist nämlich die obere Tabelle Spalte A bis D und die untere Tabelle mit allen Einträgen in Spalte A bis G
mfg
AW: VBA Code ändern
24.04.2022 20:38:39
ralf_b
wenn du die Summe nicht mehr brauchst, dann lösch das . Ist ja dein Code(Problem). Aber komm dann nicht angekrochen weil wieder was nicht funktioniert. Wäre schön wenn du wüsstest was du da tust. Trotz der Kommentare in deinem Code scheinst du alleine nicht sehr viel weiter zu kommen.
Anzeige
AW: VBA Code ändern
24.04.2022 12:23:57
GerdL
Hallo Bogdan
Weiter unten mit 11,12,13 leider nicht mehr ;)

With wksT.Range("M2:M" & wksT.Range("J" & Rows.Count).End(xlUp).Row)
.FormulaR1C1 = "=SUM(RC[-2]:RC[-1)])"
.Formula = .Value
End With
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige