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

Unzulässiger oder nicht ausreichend definierter Ve

Unzulässiger oder nicht ausreichend definierter Ve
02.06.2013 23:08:35
Pascal
Hallo Zusammen,
hab hier schon so manchen Beitrag durchwühlt und das Forum hat mir bisher auch ohne Fragen zu stellen enorm weitergeholfen. Aber soeben verlässt mich sowohl die Suchfunktion hier also auch mein bester Freund Google auf ganzer Linie. Ich hoffe ihr könnt mir helfen.
Folgender Code macht mir Probleme:

Sub gehe_zu()
Tabelle10.Visible = xlSheetVisible
Tabelle10.Activate
Dim i As Long
For i = 2 To Tabelle10.Cells(.Rows.Count, 26).End(xlUp).Row
If Not Tabelle10.Cells(i, 6) = "irgendeineliste" Or Tabelle10.Cells(i, 1) = "" Then
Tabelle10.Rows(i).Hidden = True
End If
Next i
End Sub

Nicht unbedingt schön warscheinlich, aber für mich reichts. Problem: Ich bekomme an folgender Stelle immer den Fehler "Unzulässiger oder nicht ausreichend definierter Verweis"
For i = 2 To Tabelle10.Cells(.Rows.Count, 26).End(xlUp).Row
in einem anderen Sub funktioniert es einwandfrei.
Hat irgendwer ne idee woran das liegen könnte?
Danke schon mal und Gruß
Pascal

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

Betreff
Datum
Anwender
Anzeige
Punkte in einer With-Klammer
02.06.2013 23:48:07
Erich
Hi Pascal,
das Problem ist der Punkt vor Rows.Count. So ein Punkt ist sinnvoll nur innerhalb einer With-Klammer.
Schau dir mal ein paar Beispiele in der VBA-Hilfe zu With an.
Dieser Code nutzt das With gleich öfter:

Sub gehe_zu()
Dim i As Long
With Tabelle10
.Visible = xlSheetVisible
.Activate
For i = 2 To .Cells(.Rows.Count, 26).End(xlUp).Row
If Not .Cells(i, 6) = "irgendeineliste" Or .Cells(i, 1) = "" Then
.Rows(i).Hidden = True
End If
Next i
End With
End Sub
Wo steht dieser Code eigentlich? Befindet er sich in einem normalen Modul
(nicht in einem Tabellenblatt-Modul), kann man die Blattangabe auch weglassen.
Dann bezieht sich alles auf daas gerade aktive Blatt - bei dir Tabelle10.
So kann man das dann auch schreiben:

Sub gehe_zu()
Dim i As Long
Tabelle10.Visible = xlSheetVisible
Tabelle10.Activate
For i = 2 To Cells(Rows.Count, 26).End(xlUp).Row
If Not Cells(i, 6) = "irgendeineliste" Or Cells(i, 1) = "" Then
Rows(i).Hidden = True
End If
Next i
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Punkte in einer With-Klammer
03.06.2013 02:08:57
Pascal
Hi Erich,
jetzt wird mir einiges klar. Der Punkt bezieht sich also auf ein umgebendes With... Lass ich ihn weg dann brauch ich auch kein With !?
Wieder was gelernt :-)
Aber vielen Lieben Dank für die Erklärung. Funktioniert jetzt sowohl mit als auch ohne With.
Da ich mein bisheriges Wissen was VBA angeht rein aus Beispielen aus Foren zusammengestückelt habe und da meistens keine ausführlichen Erklärungen drin stehen, sind mir solche Feinheiten leider noch Fremd.
Gruß aus Frankfurt.
Pascal ;-)

Dafür gibt's die VBE-Hilfe! Der Punkt ...
03.06.2013 02:18:54
Luc:-?
…bezieht sich immer auf ein vornotiertes Objekt, Pascal,
sofern das dem Pgm (bei führendem Pkt per With-Konstrukt) auch mitgeteilt wird.
Gruß Luc :-?
Anzeige

145 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige