Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
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
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Daten transferieren

Daten transferieren
07.05.2006 21:55:28
Tobias
Hallo,
ich habe eine wohl eher simple Frage.
Ich versuche per VBA eine Funktion eizubauen, mit der Daten einer Seite in gewisse Zellen einer anderen Seite kopiert werden sollen und umgekehrt. Das ganze läuft unter der Funktion "Sub Workbook_SheetChange".
Ich habe versucht das ganze mit einer If-Anweisung zu programmieren und das geht auch für eine Zelle gut aber sobald ich mehr als eine Zelle in Folge kopieren möchte hängt sich Excel auf und es scheint als sei eine Scheleife geöffnet worden, die sich nicht mehr schließt und nur mit ESC abbrechen lässt.
Wäre klasse, wenn mir jemand damit helfen könnte.
Vielen Dank im Voraus.
Gruß Tobias

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten transferieren
07.05.2006 22:00:50
MichaV
Hallo,
wäre klasse, wenn Du uns Deinen bisherigen Code zeigen würdest.
Gruß- Micha
AW: Daten transferieren
07.05.2006 22:12:59
Tobias
Hallo Micha,
danke für die schnelle Antwort. Hier den Code, den ich habe (ich habe allerdings eine recht eigenwillige Art zu schreiben...):
If ActiveSheet.Name = "Sheet1" And Sheets("Sheet3").Range("d9") &gt 0 Then
Sheets("Sheet2").Range("a2") = Sheets("Sheet1").Range("a2")
Sheets("Sheet2").Range("i2") = Sheets("Sheet1").Range("i2")
Sheets("Sheet2").Range("p2") = Sheets("Sheet1").Range("p2")
Sheets("Sheet2").Range("x2") = Sheets("Sheet1").Range("x2")
End If
Wenn ich die 2. 3. und 4. Zeile des If Blocks lösche funktioniert es komischerweise.
Umgekehrt wollte ich ein Gegenstück programmieren, mit dem bei Einträgen in die gleichen Felder des "Sheet2" diese ins "Sheet1" kopiert werden.
Danke
Tobias
Anzeige
AW: Daten transferieren
07.05.2006 22:13:10
Tobias
Hallo Micha,
danke für die schnelle Antwort. Hier den Code, den ich habe (ich habe allerdings eine recht eigenwillige Art zu schreiben...):
If ActiveSheet.Name = "Sheet1" And Sheets("Sheet3").Range("d9") &gt 0 Then
Sheets("Sheet2").Range("a2") = Sheets("Sheet1").Range("a2")
Sheets("Sheet2").Range("i2") = Sheets("Sheet1").Range("i2")
Sheets("Sheet2").Range("p2") = Sheets("Sheet1").Range("p2")
Sheets("Sheet2").Range("x2") = Sheets("Sheet1").Range("x2")
End If
Wenn ich die 2. 3. und 4. Zeile des If Blocks lösche funktioniert es komischerweise.
Umgekehrt wollte ich ein Gegenstück programmieren, mit dem bei Einträgen in die gleichen Felder des "Sheet2" diese ins "Sheet1" kopiert werden.
Danke
Tobias
Anzeige
AW: Daten transferieren
07.05.2006 22:22:08
MichaV
Hallo,
und Du hast das im "Sub Workbook_SheetChange". Das ist ein Ereignis was ausgelöst wird, wenn sich im Blatt was ändert. Da Du in diesem Ereignis Blätter änderst, ruft sich das Makro ständig selbst auf. Du solltest die Ereignisverarbeitung abschalten, bevor Du Änderungen an den Blättern vornimmst. Prinzip:

Sub Workbook_SheetChange
application.enableevents=false
on error goto fehler
--code, der "SheetChange"-Ereignisse auslöst--
fehler:
application.enableevents=true 'sicherstellen, daß wieder angeschaltet wird!

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: Daten transferieren
07.05.2006 22:42:19
Tobias
Hi Micha,
ES FUNKTIONIERT!!!
Vielen, vielen Dank. Da wäre ich nie drauf gekommen. Habe nicht daran gedacht, dass die Ereignisse in der If-Routine wiederum die Funktion SheetChange auslösen...
Herber-Forum Rules!
Viele Güße
Tobias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige