Thema Datum  Von Nutzer Rating
Antwort
Rot Wie kann man dem Programm vermitteln, dass es sich auf mehrere Sheets überträgt?
23.10.2022 13:29:18 Hanibal545
*****
Solved
23.10.2022 13:58:27 Mase
NotSolved
24.10.2022 03:16:10 Gast60278
NotSolved
23.10.2022 14:00:11 Mase
NotSolved
23.10.2022 15:01:44 Hanibal545
NotSolved
23.10.2022 15:54:49 Mase
*****
NotSolved
23.10.2022 16:55:53 Hanibal545
NotSolved
23.10.2022 17:10:59 Mase
****
Solved

Ansicht des Beitrags:
Von:
Hanibal545
Datum:
23.10.2022 13:29:18
Views:
815
Rating: Antwort:
 Nein
Thema:
Wie kann man dem Programm vermitteln, dass es sich auf mehrere Sheets überträgt?

Ich möchte ein VBA-Script haben, dass von einer Jahrestabelle (mit "Worksheet_Change(ByVal Target As Range)") automatisch in unterschiedliche Monatstabellen überträgt. 

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

Alles klappt soweit. Nur jetzt habe ich gemerkt, dass wenn ich die Zelle über ein paar Monate ziehe nur in den 1. Monat (wo die Eintragung ist) überträgt (Da warscheinlich nur für die 1. Zelle die if-Abfrage eintritt). 

Jetzt  wolle ich fragen, wie man es machen kann, dass für jede Zelle einzeln die If-Abfrage und das Script ausgeführt wird.

Ich würde mich freuen, wenn mir jemand helfen könnte

LG


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Wie kann man dem Programm vermitteln, dass es sich auf mehrere Sheets überträgt?
23.10.2022 13:29:18 Hanibal545
*****
Solved
23.10.2022 13:58:27 Mase
NotSolved
24.10.2022 03:16:10 Gast60278
NotSolved
23.10.2022 14:00:11 Mase
NotSolved
23.10.2022 15:01:44 Hanibal545
NotSolved
23.10.2022 15:54:49 Mase
*****
NotSolved
23.10.2022 16:55:53 Hanibal545
NotSolved
23.10.2022 17:10:59 Mase
****
Solved