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

Makro loopt ohne ende

Makro loopt ohne ende
29.11.2014 18:23:46
Black-Mage
Huhu ihr lieben, ich habe von Excel 2003 zu 2007 gewechselt und habe nun mit einem Fehler zu kämpfen. Ich weiß nicht wo da der Fehler liegt. Bei dem 2003 hat es ohne Probleme funktioniert.
Und zwar wenn ich in einer Zelle einen Wert eintippe, zieht er ihn von einer andren Zelle ab _ und leert den Inhalt der Eingabezelle

Dim neu As Integer
Dim ort As String
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$9" Then
ort = "E"
neu = Sheets("HP").Range("E9").Value
Call ausfuehren(ort, neu)
ElseIf Target.Address = "$G$9" Then
ort = "G"
neu = Sheets("HP").Range("G9").Value
Call ausfuehren(ort, neu)
End If
Exit Sub
End Sub
Function ausfuehren(ort, neu)
Sheets("HP").Range(ort & 8).Value = Sheets("HP").Range(ort & 8) - neu
Sheets("HP").Range(ort & 9).ClearContents
End Function

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro loopt ohne ende
29.11.2014 18:55:39
Mullit
Hallo,
das ist auch kein Wunder, wenn Du im Change-Ereignis eine Zelle des gleichen Tabellenblattes änderst, ruft sich die Ereignisprozedur wiederum selbst auf, um das zu unterbinden gibt's die Application.EnableEvents-Anweisung:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$E$9" Or .Address = "$G$9" Then
Application.EnableEvents = False
Cells(8, .Column).Value = Cells(8, .Column).Value - .Value
Cells(9, .Column).ClearContents
Application.EnableEvents = True
End If
End With
End Sub

Gruß,

Anzeige
AW: Makro loopt ohne ende
29.11.2014 19:01:19
Mullit
Hallo,
uhhh, das ist so noch besser:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Address = "$E$9" Or .Address = "$G$9" Then
Application.EnableEvents = False
Cells(8, .Column).Value = Cells(8, .Column).Value - .Value
.ClearContents
Application.EnableEvents = True
End If
End With
End Sub

Gruß,

AW: Makro loopt ohne ende
29.11.2014 22:41:42
Black-Mage
Vielen dank, für die Hilfe. Das habe ich überhaupt nicht bedacht, komisch das es bei 2003 ging. Nunja
danke vielmals. :)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige