I would like to have a VBA script that automatically transfers from a year table (with "Worksheet_Change(ByVal Target As Range)") to different month tables.
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column >= 7 And Target.Column <= 37) Then
Sheets("Januar 23").Range(Target.Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 38 And Target.Column <= 65) Then
Sheets("Februar 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-31).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 31 And Target.Column <= 96) Then
Sheets("März 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-59).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 97 And Target.Column <= 126) Then
Sheets("April 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-90).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 127 And Target.Column <= 157) Then
Sheets("Mai 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-120).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 158 And Target.Column <= 187) Then
Sheets("Juni 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-151).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 188 And Target.Column <= 218) Then
Sheets("Juli 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-181).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 219 And Target.Column <= 249) Then
Sheets("August 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-212).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 250 And Target.Column <= 279) Then
Sheets("September").Range(Target.Offset(rowOffset:=0, columnOffset:=-243).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 280 And Target.Column <= 310) Then
Sheets("Oktober 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-273).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 311 And Target.Column <= 340) Then
Sheets("November 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-304).Address).Value = Range(Target.Address).Value
ElseIf (Target.Column >= 341 And Target.Column <= 371) Then
Sheets("Dezember 23").Range(Target.Offset(rowOffset:=0, columnOffset:=-334).Address).Value = Range(Target.Address).Value
Else
MsgBox "ERROR Feld nicht im Monat angegeben"
End If
End Sub
Everything works so far. Only now have I noticed that if I move the cell over a few months, it only transfers to the 1st month (where the entry is) (because the if query probably only occurs for the 1st cell).
Now I want to ask how to make the if query and script run for each cell individually.
I would be happy if someone could help me