Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBA - 2 Change-Ereignisse verknüpfen

Frage Microsoft Microsoft Office

Mitglied: xaumichi

xaumichi (Level 1) - Jetzt verbinden

28.07.2010, aktualisiert 18.10.2012, 6802 Aufrufe, 5 Kommentare

Hey!

Habe herausgelesen, dass man pro Tabellenblatt immer nur ein Change-Ereigniss einfügen kann.
Da ich aber 2 brauche sollten diese doch in einem verknüpfbar sein.

Habe beide Ereignisse (mit unterschiedlichem Code) getestet und funktionieren auch.

Leider schaffe ich das mit dem Code nicht.

Könnte mir da wer helfen?

Also:

1. Ereignis: bei Änderungen im Bereich A6:N53 (dann erfolgen auch Änderungen in diesem Bereich)

2. Ereignis: Änderungen im Bereich A1: N5 (dann erfolgen Änderungen im Bereich B7:D9)


LG Mike
Mitglied: EffEins
28.07.2010 um 13:32 Uhr
Hallo,

vllt. beschreibst Du besser anhand eines Beispiels, was Du genau machen willst. AFAIK gibt es nämlich wirklich nur ein Change()-Ereigniss .

Aber natürlich kann man in einem Ereignis mehrere Funktionen/Proceduren abarbeiten. Ist es vllt das, was Du machen willst???
Mit dem "Target"-Parameter im Change-Ereignis kannst Du auf jeden Fall die Zellen bestimmen, in der eine Änderung stattgefunden hat.

Gruß F1
Bitte warten ..
Mitglied: xaumichi
28.07.2010, aktualisiert 18.10.2012
Hey!

Also:
Ich habe ein Change()-Ereigniss im Bereich A6:N53, bei dem verschiedene Formatierungen, Rechnungen etc. stattfinden.
Dies funktioniert einwandfrei.

Nun wollte ich in einem anderen Bereich (A1: N5 ) eine Case-Abfrage machen (Problem dazu im Thread: "http://www.administrator.de/forum/vba-programmabsturz-nach-case-abfrage ..."

Darum wollte ich diese Case - Frage als zweites Ereigniss in diese Change() einbauen, weil es mir sonst das Programm immer abstürtzt.

Nur weiß ich nicht, wie ich die beiden Ereignisse jetzt verknüpfen kann.
Bsp. kann ich leider nicht on stellen, da es zu lang wäre. (Wenns hilft könnte ich dir vl das File ja senden)

LG Mike
Bitte warten ..
Mitglied: EffEins
28.07.2010 um 17:48 Uhr
ja,... File senden wäre wahrscheinlich besser
Bitte warten ..
Mitglied: EffEins
28.07.2010 um 19:10 Uhr
Nun hab ich den anderen Thread noch mal gelesen und hab eine Vermutung was Du meinst.

Vielleicht hilft Dir das hier.
In dem Change-Ereignis wird geprüft, in welcher Range Änderungen gemacht wurden und ruft entsprechende Prozeduren auf.



01.
Private Sub Worksheet_Change(ByVal Target As Range) 
02.
Dim rng1 As Range 
03.
Dim rng2 As Range 
04.
Dim isect As Range 
05.
 
06.
Set rng1 = Range("A6:N53") 
07.
Set rng2 = Range("A1:N5") 
08.
 
09.
Set isect = Application.Intersect(Target, rng1) 'Range1 suchen 
10.
If Not (isect Is Nothing) Then 
11.
    Range1_gefunden Target 'Procedur aufrufen 
12.
    Exit Sub 'Fertig 
13.
End If 
14.
 
15.
Set isect = Application.Intersect(Target, rng2) 'Range2 suchen 
16.
If Not (isect Is Nothing) Then 
17.
    Range2_gefunden Target 'Procedur aufrufen 
18.
    Exit Sub 'Fertig 
19.
End If 
20.
 
21.
End Sub

Dann brauchst Du noch 2 Prozeduren, in die Du Dein 'Code' packen kannst

01.
Sub Range1_gefunden(Target As Range) 
02.
    MsgBox "die Änderungen wurden in A6:N53 getätigt" 
03.
End Sub 
04.
 
05.
Sub Range2_gefunden(Target As Range) 
06.
    MsgBox "die Änderungen wurden in A1:N5 getätigt" 
07.
End Sub
das meintest Du, oder? ;)

Gruß effeins

P.S.
die Zeile aus den anderen Posting sorgt übrigens dafür das bei einer gleichzeitigen Änderung mehrerer Zellen gar nichts passiert
01.
If Target.Cells.Count > 1 then Exit sub
die solltest Du evtl noch einbauen und eine Meldung erscheinen lassen
Bitte warten ..
Mitglied: xaumichi
28.07.2010 um 19:42 Uhr
WOWWWWW!!!!

Geile Sache!

So "einfach" wärs gegangen! Hm....und ich ärgere mich schon 3 Wochen damit herum! :S
Es war genau das, was ich mir vorgestellt habe!

Ich sage DANKE!

So, dann werd ich mir das mal alles genau durch den Kopf gehn lassen, was du da gemacht hast! =)

THX!

LG Mike
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Microsoft Office
gelöst Excel-Formel oder VBA (7)

Frage von nicki01 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
RODC über VPN - Verbindung weg (10)

Frage von stefan2k1 zum Thema Windows Server ...