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

Fehler im Makro

Fehler im Makro
24.04.2020 14:25:42
Marc
Hallo zusammen
Ich habe mit eurer Hilfe folgendes Makro erstellt. Wenn ich es aber dann ausführe, funktioniert es nur einmal und danach leider nicht mehr. Was mach ich falsch?
Vielen Dank
Grüsse
Marc

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B1")) Is Nothing Then
If Target.CountLarge = 1 Then
If IsNumeric(Target.Value) Then
Application.EnableEvents = False
Select Case Target.Address
Case "$A$1"
Cells(1, 2).Value = Target.Value * 2
Case "$B$1"
Cells(1, 1).Value = Target.Value * 5
End Select
Cells(2, 1).Value = Target * 4
Cells(2, 2).Value = Target * 6
Application.EnableEvents = True
End If
End If
End If
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler im Makro
24.04.2020 14:27:07
Hajo_Zi
Du hast beim zweiten Mal keinen Zellinhalt geändert.

AW: Fehler im Makro
24.04.2020 15:02:55
Marc
Sorry mein Fehler. Habe aus versehen, den falschen Code kopiert.
If Not Intersect(Target, Range("E64:F65")) Is Nothing Then
If Target.CountLarge = 1 Then
If IsNumeric(Target.Value) Then
Application.EnableEvents = False
Select Case Target.Address
Case "$E$64"
Cells(64, 6).Value = Target.Value / 13
Cells(65, 5).Value = WorksheetFunction.Round(Target.Value * Me.Range("E11") / 5, 2) * 5
Cells(65, 6).Value = WorksheetFunction.Round(Target.Value * Me.Range("E11") / 5, 2) * 5 / 13
Case "$F$64"
Cells(64, 5).Value = Target.Value * 13
Cells(65, 5).Value = WorksheetFunction.Round(Target.Value * Me.Range("E11") / 5, 2) * 5 * 13
Cells(65, 6).Value = WorksheetFunction.Round(Target.Value * Me.Range("E11") / 5, 2) * 5
Case "$E$65"
Cells(65, 6).Value = Target.Value / 13
Cells(64, 5).Value = WorksheetFunction.Round(Target.Value / Me.Range("E11") * 1 / 5, 2) * 5
Cells(64, 6).Value = WorksheetFunction.Round(Target.Value / Me.Range("E11") * 1 / 5, 2) * 5 / 13
Case "$F$65"
Cells(65, 5).Value = Target.Value * 13
Cells(64, 5).Value = WorksheetFunction.Round(Target.Value / Me.Range("E11") * 1 / 5, 2) * 5 * 13
Cells(64, 6).Value = WorksheetFunction.Round(Target.Value / Me.Range("E11") * 1 / 5, 2) * 5
End Select
End If
End If
End If
Anzeige
AW: Fehler im Makro
24.04.2020 15:04:40
Hajo_Zi
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
änderrn.
Das ist nur meine Meinung zu dem Thema.
Gruß Hajo
Anzeige
AW: Fehler im Makro
25.04.2020 13:26:54
GerdL
Hallo Marc,
du solltest die Events am Ende wieder zuschalten.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim X As Double
If Not Intersect(Target, Range("E64:F65")) Is Nothing Then
If Target.CountLarge = 1 Then
If IsNumeric(Target.Value) Then
Application.EnableEvents = False
X = WorksheetFunction.Round(Target.Value * Me.Range("E11") / 5, 2) * 5
Select Case Target.Address
Case "$E$64"
Cells(64, 6).Value = Target.Value / 13
Cells(65, 5).Value = X
Cells(65, 6).Value = X / 13
Case "$F$64"
Cells(64, 5).Value = Target.Value * 13
Cells(65, 5).Value = X * 13
Cells(65, 6).Value = X
Case "$E$65"
Cells(65, 6).Value = Target.Value / 13
Cells(64, 5).Value = X
Cells(64, 6).Value = X / 13
Case "$F$65"
Cells(65, 5).Value = Target.Value * 13
Cells(64, 5).Value = X * 13
Cells(64, 6).Value = X
End Select
Application.EnableEvents = True
End If
End If
End If
End Sub

Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige