Wieso läuft das Makro so lange ?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Wieso läuft das Makro so lange ?
von: Stefan K.
Geschrieben am: 17.02.2005 12:34:08
Hallo Excelfreunde,
ich habe folgendes programmiert, um bei änderung einer Zelle in Spalte A der gleichen Zeile einen Wert aus Tabelle 1 einzutragen.
Wenn ich nun in einer Zelle einen Wert eingebe, tut sich erstmal gar nichts.
Was passiert denn in dieser Zeit ? Habe das Gefühl das da irgendeine Schleife durchläuft. Hat vieleicht jemand eine Idee ?
Danke und Gruß
Stefan


Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim zeile
zeile = Target.Row
If ActiveSheet.Name = "Erfassung" And Cells(zeile, 2) <> "" Then
Cells(zeile, 1) = Sheets("Tabelle1").[B2]
Else
Cells(zeile, 1) = ""
Exit Sub
End If
End Sub

Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Josef Ehrensberger
Geschrieben am: 17.02.2005 12:46:48
Hallo Stefan!
Probier's mal so.

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column > 1 And Target.Count = 1 Then
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
   If Cells(Target.Row, 2) <> "" Then
   Cells(Target.Row, 1) = Sheets("Tabelle1").[B2]
   Else
   Cells(Target.Row, 1) = ""
   End If
   
End If
ERRORHANDLER:
Application.EnableEvents = True
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Stefan K.
Geschrieben am: 17.02.2005 14:18:17
Hallo Sepp,
habe mich da erst nicht rangetraut, weil das so kompliziert aussah.
Aber genau das wars, funktioniert prima. Herzlichen Dank.
Kannst Du mir evtl. noch bei einem anderen Problem behilflich sein ?
Ich möchte per VBA das aktuelle Jahr abfragen. Es soll eine msgbox erscheinen, wenn das Jahr 2006 erreicht wird. Dann soll die Datei neu angelegt werden.
Lieben Dank und Gruß
Stefan
Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Uduuh
Geschrieben am: 17.02.2005 12:48:08
Hallo,
da das Macro Zellen ändert, ruft es sich immer wieder selbst auf.
Application.EnableEvents=False an den Anfang, am Ende wieder auf true setzen.
Gruß aus'm Pott
Udo

Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Stefan K.
Geschrieben am: 17.02.2005 13:44:40
Hallo Udo,
Danke erstmal. Habe Deine Anweisung befolgt, jetzt passiert jedoch
gar nichts mehr. Wird mit dem Befehl nicht alles folgende außer Kraft
gesetzt ?
Gruß Stefan
Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Thomas
Geschrieben am: 17.02.2005 12:48:20
Hallo Stefan,
die von Dir gewählte Aktion löst immer wieder das Change-Ereignis aus. Arbeite mit einer Boolean Variablen und breche das Change-Ereignis im zweiten Durchlauf ab.
Gruß Thomas
Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: Stefan K.
Geschrieben am: 17.02.2005 13:41:15
Ähhh, hast Du meinen VBA-Status gelesen ?
Nein, stimmt zwar nicht ganz, aber wäre nett wenn Du
mit einen Denkansatz liefern könntest.
Danke und Gruß Stefan
Bild

Betrifft: AW: Wieso läuft das Makro so lange ?
von: MichaV
Geschrieben am: 17.02.2005 14:09:47
Hi,
ungetestet

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim zeile
Static läuft as boolean
If läuft Then Exit Sub
zeile = Target.Row
If ActiveSheet.Name = "Erfassung" And Cells(zeile, 2) <> "" Then
Cells(zeile, 1) = Sheets("Tabelle1").[B2]
Else
Cells(zeile, 1) = ""
Exit Sub
End If
läuft=True
End Sub

Gruß
 Bild

Beiträge aus den Excel-Beispielen zum Thema "aus 1.1.7 soll 01.01.2007 werden"