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

Bei Änderung mehrerer Zellen makro ausfü

Bei Änderung mehrerer Zellen makro ausfü
29.08.2020 14:35:06
Martin
Hallo
ich möchte bei Änderung folgender Zellen ein Makro ausführen.
Zellen B13;E13;H13; B24;E24;H24;B26;E26;H26
Mit einer Zeille schaffe ich es aber nicht mit den oben angeführten Zellen. Bitte um Hilfe.Danke.
With Target
If .Address = "$B$13" Then
If .Value = "" Then
Call Text_in_Zelle
End If
End If
End With

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Änderung mehrerer Zellen makro ausfü
29.08.2020 14:48:09
Hajo_Zi
In der Art
        Dim RaBereich As Range                      ' Bereich der Wirksamkeit
Dim RaZelle As Range                        ' Variable Zelle
Dim InS As Integer                          ' Variable Stunde
Dim InM As Integer                          ' Variable Minute
Set RaBereich = Range("D10:F40, H10:H40")   ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
'    Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
'    Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79"), _
'    Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
'    Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
'    Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
'    Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' Zelle die in dem Bereich liegen auf die Varible schreiben
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then

Anzeige
AW: Bei Änderung mehrerer Zellen makro ausfü
29.08.2020 15:05:05
Daniel
Hi
If Instr("B13;E13;H13;B24;E24;H24;B26;E26;H26", Target.Address(0, 0)) > 0
Oder vielleicht so
Select case Target.Column
Case 2, 5, 8
Select case Target.Row
Case 13, 24, 26
Call Text_In_Zelle
End Select
End select
Oder so
if not intersect(target, Range("B:B,E:E;H:H"), Range("13:13,24:24,26:26")) is nothing Then
Gruß Daniel
AW: Bei Änderung mehrerer Zellen makro ausfü
29.08.2020 15:05:48
Dieter
Hallo Martin,
das Programm könnte so aussehen:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
Select Case .Address(False, False)
Case "B13", "E13", "H13", "B24", "E24", "H24", "B26", "E26", "H26"
If .Value = "" Then
Call Text_in_Zelle
End If
End Select
End With
End Sub
Viele Grüße
Dieter
Anzeige
AW: Bei Änderung mehrerer Zellen makro ausfü
30.08.2020 10:44:31
Martin
Danke Dieter für deinen Vorschlag. Habe es so gemacht.
Lg Martin
AW: Bei Änderung mehrerer Zellen makro ausfü
29.08.2020 15:10:43
Nepumuk
Hallo Martin,
würde ich so machen:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim objRange As Range, objCell As Range
    Set objRange = Intersect(Target, Range("B13,E13,H13, B24,E24,H24,B26,E26,H26"))
    If Not objRange Is Nothing Then
        For Each objCell In objRange
            If IsEmpty(objCell.Value) Then Call Text_in_Zelle
        Next
        Set objRange = Nothing
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Nicht SHIFT sondern STRG!!!
29.08.2020 17:59:45
Herbert_Grom
Hallo Martin,
Die betreffenden Zellen zusammen markieren (STRG & Linke Maustaste) und diesem "Gebilde" dann einen Bereichsnamen geben. Auf diesen referenzierst du dann mit "Worksheet_SelectionChange".
Servus
AW: Nicht SHIFT sondern STRG!!!
30.08.2020 10:42:54
Martin
Hallo
Danke an alle die mir hier geholfen haben.
Ich habe mich für Dieters Vorschlag entschieden.
Nochmals Danke.
Lg Martin
Anzeige
AW: Bei Änderung mehrerer Zellen makro ausfü
30.08.2020 11:41:01
Herbert_Grom
Hallo Martin,
dann kannst du auch die kürzeste Variante nehmen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("B13,E13,H13, B24,E24,H24,B26,E26,H26")) Is Nothing Then Call  _
Text_in_Zelle
End Sub
Servus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige