Anzeige
Archiv - Navigation
456to460
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
456to460
456to460
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro bringt Excel Tabelle zum Dauermarsch

Makro bringt Excel Tabelle zum Dauermarsch
16.07.2004 10:38:28
Rolker
Hallo an alle,
ich habe unten stehendes makro in eine Tabelle eingebaut und es funktioniert soweit auch alles. Wenn ich aber in Zelle B4 einen Wert eingebe und enter(oder irgend eine Taste)drücke wird der Wert zwar übernommen aber man könnte meinen das sich Excel Hundertmal oder mehr durchzählt. Ist das normal oder kann man das irgendwie abstellen?
Gruss
Rolker
Sub Barcode2()
Dim Var_ZelleB4, Var_Auswahlzelle As Variant, i As Long
Sheets("TabellE1").Unprotect Password:=""
Var_ZelleB4 = Sheets("TabellE1").Range("B4").Value
Sheets("TabellE1").Select
Range("G17").Select
For i = 1 To 65000
Var_Auswahlzelle = ActiveCell.Value
If Var_Auswahlzelle > 0 Then
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.Value = Var_ZelleB4
Exit For
End If
Next i
Sheets("TabellE1").Select
Range("B4").Value = ""
Range("B4").Select
Sheets("TabellE1").Protect Password:=""
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then Barcode2
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro bringt Excel Tabelle zum Dauermarsch
16.07.2004 10:50:56
Markus
Hi Rolker
warum lässt du deine zählvariable i so weit durchlaufen
probiers mal mit einem niedrigeren wert wie z.B. 100 oder so
z.B. For i = 1 To 100
sag bitte bescheid ob es das war :o)
Mfg
Markus
AW: Makro bringt Excel Tabelle zum Dauermarsch
Rolker
Hallo,
ich habe den Wert jetzt mal auf 6 verändert, hat aber leider nichts genutzt :-(
Gruss
Rolker
AW: Makro bringt Excel Tabelle zum Dauermarsch
GerdZ
Hallo Rolker,
durch das Löschen von B4 in Barcode2 wird ein neues Change-Ereignis ausgelöst während gerade eines bearbeitet wird, und während das Neue bearbeitet wird, kommt noch ein Neues usw. Mit Application.EnableEvents werden die Ereignisse erst aus- und dann wieder eingeschaltet:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "B4" Then
Application.EnableEvents = False
Barcode2
Application.EnableEvents = True
End If
End Sub

Außerdem sind in der Sub Barcode2 alle Selects (evtl. bis auf das letzte) überflüssig. Folgender Code müßte auch funktionieren:
Sub Barcode2()
Dim Var_ZelleB4, Var_Auswahlzelle As Variant, i As Long
Var_ZelleB4 = Range("B4").Value
For i = 17 To 65536
Var_Auswahlzelle = Cells(i, 7).Value
If Not Var_Auswahlzelle > 0 Then
Cells(i, 7).Value = Var_ZelleB4
Exit For
End If
Next i
Range("B4").Value = ""
Range("B4").Select
End Sub
Gruß
Gerd
Anzeige
AW: Makro bringt Excel Tabelle zum Dauermarsch
Rolker
Hallo,
ich habe den Wert jetzt mal auf 6 verändert, hat aber leider nichts genutzt :-(
Gruss
Rolker
AW: Makro bringt Excel Tabelle zum Dauermarsch
Rolker
Danke an GerdZ.
Genau das war der Fehler. läuft jetzt einwandfrei.
Danke nochmal.
Danke GerdZ
Rolker
läuft jetzt einwandfrei.
Anschiss@Rolker
Uduuh
Hallo,
das finde ich eine ganz schöne Dreistigkeit, hier nach Lösungen zu suchen und mich parallel anzumailen.
Anscheinend bist du ja mit den Lösungen zufrieden. Von mir hättest du was erheblich besseres bekommen. Exakt 8 Zeilen Code je

Sub inkl. 

Sub und End Sub
. Jetzt gibt es von mir garnix mehr. Deine Threads werde ich künftig ignorieren und deine Mailadresse kommt in den Spamfilter.
Ohne Gruß
Udo
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige