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, 6986 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel VBA In Userform Maske Text nach Eingabe löschen (1)

Frage von kluthi69 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA Macro Hilfe benötigt (6)

Frage von reissaus73 zum Thema VB for Applications ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...