Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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

Private Sub Worksheet_Change(ByVal target As Range

Private Sub Worksheet_Change(ByVal target As Range
04.04.2018 13:21:25
Gergö
Hallo alle miteinander!
Ich habe sämtliche Foren durchsucht, aber nichts brauchbares für mich gefunden.
Ich möchte 7 Private Sub Worksheets aneinander reihen, jedoch weiß ich nicht wie ich aus all dem ein Bündel mache.
Das hier ist mein Ansatz, ihr könnt mir sicher weiterhelfen
  • 
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$22" Then Exit Sub
    If target.Value = "1" Then Call Makro1
    If target.Value = "2" Then Call Makro2
    If target.Value = "3" Then Call Makro3
    If target.Value = "4" Then Call Makro4
    If target.Value = "5" Then Call Makro5
    If target.Value = "6" Then Call Makro6
    If target.Value = "7" Then Call Makro7
    If target.Value = "8" Then Call Makro8
    If target.Value = "9" Then Call Makro9
    If target.Value = "10" Then Call Makro10
    If target.Value = "11" Then Call Makro11
    If target.Value = "12" Then Call Makro12
    If target.Value = "13" Then Call Makro13
    If target.Value = "14" Then Call Makro14
    If target.Value = "15" Then Call Makro15
    If target.Value = "16" Then Call Makro16
    If target.Value = "17" Then Call Makro17
    If target.Value = "18" Then Call Makro18
    If target.Value = "19" Then Call Makro19
    If target.Value = "20" Then Call Makro20
    If target.Value = "21" Then Call Makro21
    If target.Value = "22" Then Call Makro22
    If target.Value = "23" Then Call Makro23
    If target.Value = "24" Then Call Makro24
    If target.Value = "25" Then Call Makro25
    If target.Value = "26" Then Call Makro26
    If target.Value = "27" Then Call Makro27
    If target.Value = "28" Then Call Makro28
    If target.Value = "29" Then Call Makro29
    If target.Value = "30" Then Call Makro30
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$55" Then Exit Sub
    If target.Value = "1" Then Call Makro31
    If target.Value = "2" Then Call Makro32
    If target.Value = "3" Then Call Makro33
    If target.Value = "4" Then Call Makro34
    If target.Value = "5" Then Call Makro35
    If target.Value = "6" Then Call Makro36
    If target.Value = "7" Then Call Makro37
    If target.Value = "8" Then Call Makro38
    If target.Value = "9" Then Call Makro39
    If target.Value = "10" Then Call Makro40
    If target.Value = "11" Then Call Makro41
    If target.Value = "12" Then Call Makro42
    If target.Value = "13" Then Call Makro43
    If target.Value = "14" Then Call Makro44
    If target.Value = "15" Then Call Makro45
    If target.Value = "16" Then Call Makro46
    If target.Value = "17" Then Call Makro47
    If target.Value = "18" Then Call Makro48
    If target.Value = "19" Then Call Makro49
    If target.Value = "20" Then Call Makro50
    If target.Value = "21" Then Call Makro51
    If target.Value = "22" Then Call Makro52
    If target.Value = "23" Then Call Makro53
    If target.Value = "24" Then Call Makro54
    If target.Value = "25" Then Call Makro55
    If target.Value = "26" Then Call Makro56
    If target.Value = "27" Then Call Makro57
    If target.Value = "28" Then Call Makro58
    If target.Value = "29" Then Call Makro59
    If target.Value = "30" Then Call Makro60
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$87" Then Exit Sub
    If target.Value = "1" Then Call Makro61
    If target.Value = "2" Then Call Makro62
    If target.Value = "3" Then Call Makro63
    If target.Value = "4" Then Call Makro64
    If target.Value = "5" Then Call Makro65
    If target.Value = "6" Then Call Makro66
    If target.Value = "7" Then Call Makro67
    If target.Value = "8" Then Call Makro68
    If target.Value = "9" Then Call Makro69
    If target.Value = "10" Then Call Makro70
    If target.Value = "11" Then Call Makro71
    If target.Value = "12" Then Call Makro72
    If target.Value = "13" Then Call Makro73
    If target.Value = "14" Then Call Makro74
    If target.Value = "15" Then Call Makro75
    If target.Value = "16" Then Call Makro76
    If target.Value = "17" Then Call Makro77
    If target.Value = "18" Then Call Makro78
    If target.Value = "19" Then Call Makro79
    If target.Value = "20" Then Call Makro80
    If target.Value = "21" Then Call Makro81
    If target.Value = "22" Then Call Makro82
    If target.Value = "23" Then Call Makro83
    If target.Value = "24" Then Call Makro84
    If target.Value = "25" Then Call Makro85
    If target.Value = "26" Then Call Makro86
    If target.Value = "27" Then Call Makro87
    If target.Value = "28" Then Call Makro88
    If target.Value = "29" Then Call Makro89
    If target.Value = "30" Then Call Makro90
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$120" Then Exit Sub
    If target.Value = "1" Then Call Makro91
    If target.Value = "2" Then Call Makro92
    If target.Value = "3" Then Call Makro93
    If target.Value = "4" Then Call Makro94
    If target.Value = "5" Then Call Makro95
    If target.Value = "6" Then Call Makro96
    If target.Value = "7" Then Call Makro97
    If target.Value = "8" Then Call Makro98
    If target.Value = "9" Then Call Makro99
    If target.Value = "10" Then Call Makro100
    If target.Value = "11" Then Call Makro101
    If target.Value = "12" Then Call Makro102
    If target.Value = "13" Then Call Makro103
    If target.Value = "14" Then Call Makro104
    If target.Value = "15" Then Call Makro105
    If target.Value = "16" Then Call Makro106
    If target.Value = "17" Then Call Makro107
    If target.Value = "18" Then Call Makro108
    If target.Value = "19" Then Call Makro109
    If target.Value = "20" Then Call Makro110
    If target.Value = "21" Then Call Makro111
    If target.Value = "22" Then Call Makro112
    If target.Value = "23" Then Call Makro113
    If target.Value = "24" Then Call Makro114
    If target.Value = "25" Then Call Makro115
    If target.Value = "26" Then Call Makro116
    If target.Value = "27" Then Call Makro117
    If target.Value = "28" Then Call Makro118
    If target.Value = "29" Then Call Makro119
    If target.Value = "30" Then Call Makro120
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$153" Then Exit Sub
    If target.Value = "1" Then Call Makro121
    If target.Value = "2" Then Call Makro122
    If target.Value = "3" Then Call Makro123
    If target.Value = "4" Then Call Makro124
    If target.Value = "5" Then Call Makro125
    If target.Value = "6" Then Call Makro126
    If target.Value = "7" Then Call Makro127
    If target.Value = "8" Then Call Makro128
    If target.Value = "9" Then Call Makro129
    If target.Value = "10" Then Call Makro130
    If target.Value = "11" Then Call Makro131
    If target.Value = "12" Then Call Makro132
    If target.Value = "13" Then Call Makro133
    If target.Value = "14" Then Call Makro134
    If target.Value = "15" Then Call Makro135
    If target.Value = "16" Then Call Makro136
    If target.Value = "17" Then Call Makro137
    If target.Value = "18" Then Call Makro138
    If target.Value = "19" Then Call Makro139
    If target.Value = "20" Then Call Makro140
    If target.Value = "21" Then Call Makro141
    If target.Value = "22" Then Call Makro142
    If target.Value = "23" Then Call Makro143
    If target.Value = "24" Then Call Makro144
    If target.Value = "25" Then Call Makro145
    If target.Value = "26" Then Call Makro146
    If target.Value = "27" Then Call Makro147
    If target.Value = "28" Then Call Makro148
    If target.Value = "29" Then Call Makro149
    If target.Value = "30" Then Call Makro150
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$186" Then Exit Sub
    If target.Value = "1" Then Call Makro151
    If target.Value = "2" Then Call Makro152
    If target.Value = "3" Then Call Makro153
    If target.Value = "4" Then Call Makro154
    If target.Value = "5" Then Call Makro155
    If target.Value = "6" Then Call Makro156
    If target.Value = "7" Then Call Makro157
    If target.Value = "8" Then Call Makro158
    If target.Value = "9" Then Call Makro159
    If target.Value = "10" Then Call Makro160
    If target.Value = "11" Then Call Makro161
    If target.Value = "12" Then Call Makro162
    If target.Value = "13" Then Call Makro163
    If target.Value = "14" Then Call Makro164
    If target.Value = "15" Then Call Makro165
    If target.Value = "16" Then Call Makro166
    If target.Value = "17" Then Call Makro167
    If target.Value = "18" Then Call Makro168
    If target.Value = "19" Then Call Makro169
    If target.Value = "20" Then Call Makro170
    If target.Value = "21" Then Call Makro171
    If target.Value = "22" Then Call Makro172
    If target.Value = "23" Then Call Makro173
    If target.Value = "24" Then Call Makro174
    If target.Value = "25" Then Call Makro175
    If target.Value = "26" Then Call Makro176
    If target.Value = "27" Then Call Makro177
    If target.Value = "28" Then Call Makro178
    If target.Value = "29" Then Call Makro179
    If target.Value = "30" Then Call Makro180
    End Sub
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address  "$B$153" Then Exit Sub
    If target.Value = "1" Then Call Makro191
    If target.Value = "2" Then Call Makro192
    If target.Value = "3" Then Call Makro193
    If target.Value = "4" Then Call Makro194
    If target.Value = "5" Then Call Makro195
    If target.Value = "6" Then Call Makro196
    If target.Value = "7" Then Call Makro197
    If target.Value = "8" Then Call Makro198
    If target.Value = "9" Then Call Makro199
    If target.Value = "10" Then Call Makro200
    If target.Value = "11" Then Call Makro201
    If target.Value = "12" Then Call Makro202
    If target.Value = "13" Then Call Makro203
    If target.Value = "14" Then Call Makro204
    If target.Value = "15" Then Call Makro205
    If target.Value = "16" Then Call Makro206
    If target.Value = "17" Then Call Makro207
    If target.Value = "18" Then Call Makro208
    If target.Value = "19" Then Call Makro209
    If target.Value = "20" Then Call Makro210
    If target.Value = "21" Then Call Makro211
    If target.Value = "22" Then Call Makro212
    If target.Value = "23" Then Call Makro213
    If target.Value = "24" Then Call Makro214
    If target.Value = "25" Then Call Makro215
    If target.Value = "26" Then Call Makro216
    If target.Value = "27" Then Call Makro217
    If target.Value = "28" Then Call Makro218
    If target.Value = "29" Then Call Makro219
    If target.Value = "30" Then Call Makro220
    End Sub
    

  • 9
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Private Sub Worksheet_Change(ByVal target As Range
    04.04.2018 13:49:57
    Nepumuk
    Hallo,
    teste mal:
    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$B$22" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value
            End Select
        ElseIf Target.Address = "$B$55" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 30
            End Select
        ElseIf Target.Address = "$B$87" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 60
            End Select
        ElseIf Target.Address = "$B$120" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 90
            End Select
        ElseIf Target.Address = "$B$153" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 120
            End Select
        ElseIf Target.Address = "$B$186" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 150
            End Select
        ElseIf Target.Address = "$B$153" Then
            Select Case Target.Value
                Case 1 To 30: Application.Run "Makro" & Target.Value + 190
            End Select
        End If
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Private Sub Worksheet_Change(ByVal target As Range
    04.04.2018 15:27:40
    Gergö
    Hallo Nepumuk,
    funktioniert noch nicht so ganz .
    Hier findest du die Datei in dem ich es gerade bearbeite. https://www.herber.de/bbs/user/120849.xlsm
    Die Tabelle2 funktioniert genau wie ich es brauche.
    Ich möchte die Zeilen je nach bedarf einblenden können.
    220 Makros?
    04.04.2018 13:57:29
    Peter(silie)
    Hallo,
    wozu brauchst du denn 220 Makros?
    Steht da überall das gleiche drinnen oder sind das komplett unterschiedliche Codes?
    Zeig uns doch bitte mal zwei oder drei davon.
    AW: 220 Makros?
    04.04.2018 15:30:05
    Gergö
    Hallo Peter
    Je es sind zum teil unterschiedliche Makros, mit kleinen unterschieden.
    Hier findest du die Datei die ich zum laufen bringen möchte
    https://www.herber.de/bbs/user/120849.xlsm
    Tabelle2 funktioniert genau wie ich es brauche, nur die Restlichen noch nicht
    Anzeige
    AW: 220 Makros?
    04.04.2018 16:19:10
    Peter(silie)
    Hallo,
    dann doch einfach so:
    
    Private Sub Worksheet_Change(ByVal target As Range)
    If target.Address = "$B$22" Then
    'alternativ um ober und untergrenze festzulegen
    'If target.Value  30 Then Exit Sub
    FilterListObj Me.ListObjects("Tabelle2"), "=1", Operator:=xlAnd, Criteria2:=Criteria2_
    End Sub
    
    Du musst lediglich die Daten im Worksheet_Change Event anpassen.
    AW: 220 Makros?
    05.04.2018 07:51:35
    Gergö
    Hallo Peter,
    vielen Dank für deine Hilfe bis jetzt. Ich versteh leider kaum was in diesen "Sub's" steht, ich hab mal deinen Vorschlag in meine Mappe kopiert, jedoch kann ich nur die Tabelle2 ändern, wie schaffe ich es nun, dass ich bei den restlichen Tabellen auch die Filtereinstellungen verstellen kann?
    Ich bitte dich auch um eine detaillierte Beschreibung für Anfänger
    Anzeige
    AW: 220 Makros?
    05.04.2018 07:55:57
    Gergö
    Hallo Peter,
    Danke dir mal vorerst, ich hab mal deinen Text in meine Mappe kopiert, zurzeit kann ich nur die Tabelle2 damit verändern.
    Wie schaffe ich es, auch die Restlichen Tabellen zu ändern (Filtereinstellungen)
    Leider versteh ich von dem ganzen VBA kaum etwas, könntest du mir bitte eine detaillierte Beschreibung geben.
    AW: 220 Makros?
    05.04.2018 08:34:08
    Peter(silie)
    Hallo,
    hier deine Mappe mit dem Code: https://www.herber.de/bbs/user/120861.xlsm
    Den Code habe ich mit Kommentaren versehen.
    Ich hoffe diese helfen dir ein wenig.
    Hier nur Code:
    Option Explicit
    Private Sub Worksheet_Change(ByVal target As Range)
    'Wenn die Aktive Spalte B ist
    If target.Column = 2 Then
    'Gucke ob einer der unteren Fälle zutrifft
    Select Case target.Row '=1", Operator:=xlAnd, Criteria2:=Criteria2_
    End Sub
    

    Anzeige
    AW: 220 Makros?
    05.04.2018 08:56:52
    Gergö
    Hallo Peter,
    WOW, Funktioniert wunderbar, vielen vielen Dank für deine Hilfe.

    309 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige