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

VBA-Code funktioniert nicht jedesmal

VBA-Code funktioniert nicht jedesmal
WalterK
Hallo,
ich stelle mein Problem nochmals ein, vielleicht gibt es doch noch ein Lösung.
Den untenstehenden Code habe ich im Forum erhalten. Er ermöglicht mir das blockweise scrollen in Tabellen, die ich mehrmals täglich erhalte. Damit mir der Code immer zur Vergügung steht, habe ich ihn in der Personl.xls hinterlegt, er wird über eine in einer Symbolleiste angelegte Schaltfläche aktiviert.
Das Problem ist, dass der Code über die Personl.xls nur jedes 2. Mal funktioniert. Jedes andere Mal kommt der Debugger, es ist dann die Zeile booGoErste = Intersect(rngAktuell, rngVisibleRange) Is Nothing gelb markiert und es wird der Fehler "Laufzeitfehler 1004: Die Methode Intersect für das Objekt _Global ist fehlgeschlagen angezeigt.
Wenn ich den Code direkt in die Arbeitsmappe kopiere dann funktioniert er jedesmal. Er sollte aber über die Personl.xls fehlerfrei laufen.
Wer kann mir bei meinem Problem weiterhelfen?
Hier noch der Code und eine Arbeitsmappe:
Option Explicit
Sub Tabellescrollen()
Dim rngVisibleRange As Range
Dim lngLetzte As Long, nCount As Long
Dim booGoErste As Boolean
Dim LCol As Integer
LCol = Cells(2, Columns.Count).End(xlToLeft).Column
Static rngAktuell As Range
Set rngVisibleRange = Range("A3", Cells(Rows.Count, 1)).SpecialCells(xlCellTypeVisible)
booGoErste = rngAktuell Is Nothing
If Not booGoErste Then
booGoErste = Intersect(rngAktuell, rngVisibleRange) Is Nothing
End If
If booGoErste Then
Set rngAktuell = rngVisibleRange
Set rngAktuell = rngAktuell.Cells(1, 1)
Application.Goto rngAktuell, True
Exit Sub
End If
lngLetzte = Cells(Rows.Count, 1).End(xlUp).Row
nCount = rngAktuell.Row + 1
Do While rngAktuell.Row  lngLetzte Then
Set rngAktuell = Range("A3", Cells(Rows.Count, 1)).SpecialCells(xlCellTypeVisible)
Set rngAktuell = rngAktuell.Cells(1, 1)
' rngAktuell ist die erste Zelle des blocks
Application.Goto rngAktuell, True
End If
Range(Cells(3, 1), Cells(65536, 3)).Interior.ColorIndex = xlNone
Range(Cells(3, 5), Cells(65536, LCol)).Interior.ColorIndex = xlNone
Dim LoJ As Long
For LoJ = rngAktuell.Row To lngLetzte
If Cells(LoJ, 1)  rngAktuell.Value Then Exit For
Next LoJ
Range(Cells(rngAktuell.Row, 1), Cells(LoJ - 1, 3)).Interior.Color = 16764108
Range(Cells(rngAktuell.Row, 5), Cells(LoJ - 1, LCol)).Interior.Color = 16764108
End Sub
https://www.herber.de/bbs/user/71318.xls
Danke und Servus, Walter
AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 08:15:36
Hajo_Zi
Hallo Walter,
die Variable rngAktuell wird vor diesen Aufruf nicht gesetzt.

AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 08:37:16
WalterK
Hallo Hajo,
danke fuer Deine Hilfe!
Wie kann man den Fehler beheben?
Danke und Servus, Walter
Vergessen auf offen zu stellen
31.08.2010 08:38:39
WalterK
AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 08:41:11
Hajo_Zi
Hallo Walter,
ganz einfach setze die Variable. Ich habe keine Ahnung was darauf soll, da bist Du besser drin es ist ja Dein Code.

AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 08:53:00
Hajo_Zi
Hallo Walter,
ich habe das Makro jetzt in der Personl.xls abgelegt und mehrmals gestartet ohne Probleme. Also ist der Code so wohl in Ordnung.
Gruß Hajo
Anzeige
AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 09:47:30
WalterK
Hallo Hajo,
Komische Sache. Habe den Code auch noch mehrmals getestet und er funktioniert wie beschrieben nur jedes 2. Mal. Dann werd ich eben damit zufrieden sein müssen.
Danke Dir jedenfalls für Deine Mühe.
Servus, Walter
AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 09:51:09
Hajo_Zi
Hallo Walter,
vielleicht solltest Du beschreiben wie Du das testest, Du sscheinst da was anders zu machen als ich oder Deine Datei sieht anders aus als meine, was sicher so ist. Da ich es in einer leeren Datei geprüft habe.

AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 10:32:39
WalterK
Hallo Hajo,
Kurze Beschreibung zu meinen Test's:
1.) Ich öffne die Datei, klicke auf die Schaltfläche, der Code funktioniert einwandfrei und schließe die Datei ohne zu speichern.
2.) Ich öffne die gleiche Datei wieder, klicke auf die Schaltfläche und es kommt der Debugger. Ich schließe das VBA-Fenster, bestätige mit OK und klicke wieder auf die Schaltfläche. Der Code läuft jetzt wieder normal weiter. Dann schließe ich die Datei wieder ohne speichern.
3.) wie Punkt 1
4.) wie Punkt 2 und usw. usw.
Ich habe die Datei und den angezeigten Fehler nochmals hochgeladen.
https://www.herber.de/bbs/user/71322.xls
Danke uns Servus, Walter
Anzeige
AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 10:37:44
Hajo_Zi
Hallo Walter,
Ich interpretiere Deine Datei mal jetzt so: Du willst keine Hilfe von mir. Ich kann damit leben.
Du schreibst ich klicke den Schalter und die Datei hat keinen Schalter. Also hast Du eine Datei hochgeladen die nicht mit Deinem Beitrag übereinstimmt.

AW: VBA-Code funktioniert nicht jedesmal
31.08.2010 10:56:40
WalterK
Hallo Hajo,
Mein Fehler! Ich hätte schreiben sollen: Ich klicke auf die Schaltfläche in der Symbolleiste ... (so wie ich es in meinem 1. Beitrag auch geschrieben habe).
In der Datei selbst ist keine Schaltfläche.
Servus, Walter
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige