in meinen Programm spiele ich mit Datumswerten szenarien durch, dafür habe ich zwei Tabellen, eine zum "spielen" und eine als Backup. Wenn ich die Tabelle Realdaten (mit der spiele ich szenarien durch) zurücksetzen möchte mit den Tabellen aus Plandaten(Backup) dann führe ich unten stehenden Code durch.
Das funktioniert auch einwandfrei. Das Programm überschreibt mir alle Zeilen in den festen Spalten.
Jetzt möchte ich aber bestimmte Zeilen ausnehmen und habe dafür in Spalte W in einigen Zeilen ein X eingesetzt. Die soll das Programm jetzt erkennen und diese Zeilen nicht beachten, also nicht verändern. Wie könnte ich bei meinen Code davor gehen?
'Zurücksetzen der Pullwerte im Tabellenblatt Realdaten für alle Maschinen
'Die Pullwerte C1-Pull, C2-Pull, C3-Pull, C4-Pull und C5-Pull werden aus Tabellenblatt _
Plandaten kopiert
'und mit den Werten C1-Pull, C2-Pull, C3-Pull, C4-Pull und C5-Pull im Tabellenblatt Realdaten ü _
berschrieben
Sub Commandbutton_Reset_1_Click()
Dim ws As Worksheet, ws2 As Worksheet
Dim rng As Range
Dim J As Long, K As Long, M As Long
Dim cRow As Long
'Tabelleblätter den variablen zuordnen
Set ws = ThisWorkbook.Sheets("Plandaten")
Set ws2 = ThisWorkbook.Sheets("Realdaten")
'Spaltenabstände in Tabelle Realdaten und Plandaten nicht gleich. Umgehen mit Gleichungssystem
For K = 1 To 5
J = (3 * K) + 2 'Realdaten
M = (4 * K) + 1 'Plandaten
'Beschriebene Spalten im Tabellenblatt Plandaten zählen
cRow = ws.Cells(ws.Rows.Count, J).End(xlUp).Row
'Die Spaltenabstände speichern
'Im Tabellenblatt Plandaten: 5, 9, 13, 17,21
'Im Tabellenblatt Plandaten:
ColP = Split(ws.Cells(1, M).Address, "$")(1)
ColR = Split(ws.Cells(1, J).Address, "$")(1)
'Zeile und Spalte kopieren
Formel = "='Plandaten'!" & ColP & "2"
'Datumswerte zeilenweise einfügen
ws2.Range(ColR & "2:" & ColR & cRow).FormulaLocal = Formel
Next K
End Sub
Viele GrüßeChristian