Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Anzahl Codezeilen ermitteln

Anzahl Codezeilen ermitteln
Joachim
Hi,
Kurze Frage
geht es eingentlich per VBA, die Anzahl der Zeilen Code, aus dem ein komplettes Projekt besteht, zu ermitteln ?
Falls Ja, wie ?
Danke
Joachim
Anzeige
AW: Anzahl Codezeilen ermitteln
22.07.2009 14:40:58
Marc
Hallo,
Beispiel:
MsgBox ThisWorkbook.VBProject.VBComponents("modul1").CodeModule.CountOfLines
AW: Anzahl Codezeilen ermitteln
22.07.2009 14:55:51
Joachim
Hi Marc,
Danke, bei mir kommt aber eine Fehlermeldung.: "Die Methode 'VBProject' für das Object '_Workbook' ist fehlgeschlagen"
Laufzeitfehler 1004
Gruss
Joachim
AW: Anzahl Codezeilen ermitteln
22.07.2009 15:00:59
Hajo_Zi
Hallo Joachim,
hast Du den Zugriff auf das VBA Projekt zugelassen?

Anzeige
AW: Anzahl Codezeilen ermitteln
22.07.2009 15:05:42
Joachim
Hi,
hatte gerade im Moment gemerkt, das ich mein Sheet mit einem Passwort versehen hatte, das ist nun raus.
Meine ProgrammCode selber ist ohne Schutz.
NUn kommt die Meldung:´"der programmtechnische Zugriff auf das Visual Basic Projekt ist nicht sicher.
Laufzeitfehler 1004"
Muss ich sonst noch was ZULASSEN ?
Gruss
Joachim
Anzeige
AW: Anzahl Codezeilen ermitteln
22.07.2009 15:14:25
Hajo_Zi
Hallo Joachim,
ich gehe davon aus das jemand der sich mit so was komplizierten befast. sich auskennt. Falls Du die frag in meinem letzten Beitrag mit Nein beantwortest, dann lasse den Zugriff zu.
Gruß Hajo
wo denn ?
22.07.2009 15:19:39
Joachim
ich kann doch nichts zulassen, wenn ich nicht weiss, wo.
Gruss
Joachim
Anzeige
AW: wo denn ?
22.07.2009 15:22:07
Hajo_Zi
Hallo Joachim,
dann solltest Du dich mit so komplizierten Sachen nicht befassen.
Gruß Hajo
Danke für den Tip
22.07.2009 15:24:28
Joachim
Hajo lässt strenge Härte walten ;-)...
22.07.2009 18:14:42
NoNet
Hallo Joachim,
Hajo hat schon Recht : so ganz ohne Kenntnisse sollte man die Sicherheitseinstellungen von Excel nicht manipulieren. Ein versierter Anwender hätte wohl gewusst, "wo" das entscheidende Rädchen zu drehen ist ;-)
Allerdings lässt Hajo hier strenge Härte walten, daher möchte er es Dir nicht verraten.
Da ich auch nicht "Schuld" an Deinen zu laschen Sicherheitseinstellungen sein möchte, werde ich Dir auch nicht verraten, dass man dazu per "Extras - Makro - Sicherheit - Vertrauenswürdige Herausgeber" das letzte Kästchen anhaken muss, damit man per VBA auf VBA-Elemente zugreifen kann
Gruß, NoNet
Anzeige
Plaudertasche! oT
22.07.2009 19:47:05
So
ot
AW: Plaudertasche! oT
23.07.2009 11:27:34
Joachim
Hallo zusamen,
Danke, mit dieser Einstellung funktioniert es.
Ich verstehe nur nicht: warum gibt es User, die so ein riesen Theater um diese Sicherheitseinstellungen und Anwenderlevel machen. Klingt ja fast, wie wenn ich mit meinem Level diese Einstellungen ja nicht wissen dürfte, könnte ja weis was ich was alles kaputt machen.
Ist doch meine Sache, was ich an meinem Rechner damit mache und was ist da so schlimm dran , wenn ich mit meinem Level versuche, die Anzahl der Zeilen eines Projektes auszulesen.
Ist das alles so schlimm ?
Danke NoNet für Deine unkomplizierte und direkte Hilfe :-)
GRuss
Joachim
Anzeige
AW: Plaudertasche! oT
23.07.2009 17:33:31
Hubert
Hi,
Hajo_Zi ist etwas seltsam, einfach ignorieren.
mfg Hubert
AW: Anzahl Codezeilen ermitteln
22.07.2009 15:15:15
Joachim
Hi,
da kommt auch die Meldung "der programmtechnische Zugriff auf das Visual Basic Projekt ist nicht sicher."
Laufzeitfehler 1004
Gruss
Joachim
Anzeige
Nachtrag..
22.07.2009 15:17:30
Joachim
.. also, die Maske geht auf, dann sehe ich in dem Fesnter den Dateiname, wenn ichdann aber auf den Button klicke, kommt die Fehlermeldung.
Gruss
Joachim
bei mir nicht..
22.07.2009 15:29:14
robert
mit Alt+F11 Taste
kommst du in den vba-editor
dort suchst du Extras und klickst Verweise an
was ist mit haken versehen?
bitte meldung
gruß
robert
Anzeige
AW: bei mir nicht..
22.07.2009 15:32:14
Joachim
Visual Basic For Applications
Mocrosoft Excel11.0 Object Library
OLE Automation
Microsoft Office 11.0 Object Library
Microsoft Forms 2.0 Object Library
ok,wie bei mir.....
22.07.2009 16:01:35
robert
kannst du die datei schicken?
wie gesagt, bei mir läuft's
gruß
robert
AW: ok,wie bei mir.....
22.07.2009 16:15:59
Joachim
Hi,
Habe gerade gemerkt, dass ich dir die angaben aus deinem projekt rausgelesen habe. Wolltest du die angaben aus meinem, oder ist das egal ?
Gruss joachim
Anzeige
..aus DEINEM....owT
22.07.2009 16:19:28
robert
AW: ..aus DEINEM....owT
22.07.2009 17:14:24
Joachim
Sorry, war mein Fehler,
Komme aber erst morgen Früh wieder an die Daten ran. Schicks Dir morgen Früh.
OK ?
Gruss
Joachim
OK,wenn möglich auch die Datei..owT
22.07.2009 17:17:56
robert
Anzeige
AW: ..aus DEINEM....owT
22.07.2009 17:26:48
Hajo_Zi
Hallo Joachim,
das brauchst Du nicht machen. Damit hat es nichts zu tun.
Gruß Hajo
@Hajo,woran kanns dann liegen?Gruß
22.07.2009 17:36:16
robert
AW: Zugriff VBA Projekt
22.07.2009 17:44:09
Hajo_Zi
Hallo Robert,
das hatte ich schon geschrieben, beim dem Level gebe ich dazu keine Auskunft. Das geht schon ganz tief in die Sicherheit. Ich vermute mal Du hast es irgendwo mal gelesen und sofort eingestelt ohne Dir über die Folgen bewußt zu sein. Jetzt kannst Du es nicht mehr zurückstellen, da Du keine Ahnung hast wo Du es eingestellt hast.
Gruß Hajo
Anzeige
AW: Zugriff VBA Projekt
22.07.2009 18:39:37
robert
Hallo Hajo,
die antwort auf meine frage an dich ist im betreff enthalten.
mir war nur nicht klar, dass diese einstellung die ursache bei joachims problem ist.
wie,was,wo die einstellungen zu finden sind, weiss ich :-)
manchmal verrennt man sich und denkt in andere richtungen...
danke für deine ausführungen
gruß
robert
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Anzahl der Codezeilen in einem VBA-Projekt ermitteln


Schritt-für-Schritt-Anleitung

Um die Anzahl der Codezeilen in einem VBA-Projekt zu ermitteln, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Zugriff auf das VBA-Projekt: Stelle sicher, dass der Zugriff auf das VBA-Projekt in den Excel-Sicherheitseinstellungen aktiviert ist. Gehe dazu zu Extras > Makro > Sicherheit und aktiviere die Option für vertrauenswürdige Herausgeber.
  3. Führe den folgenden Code aus:
    Sub AnzahlCodezeilen()
       Dim zeilen As Long
       zeilen = ThisWorkbook.VBProject.VBComponents("modul1").CodeModule.CountOfLines
       MsgBox "Anzahl der Codezeilen: " & zeilen
    End Sub
  4. Ersetze "modul1": Wenn dein Modul anders benannt ist, ersetze "modul1" durch den entsprechenden Namen.

Häufige Fehler und Lösungen

  • Laufzeitfehler 1004: Dieser Fehler tritt häufig auf, wenn der Zugriff auf das VBA-Projekt nicht zugelassen ist. Überprüfe die Sicherheitseinstellungen in Excel, um sicherzustellen, dass der VBA-Zugriff aktiviert ist.

  • Fehlermeldung "Die Methode 'VBProject' für das Object '_Workbook' ist fehlgeschlagen": Dies kann passieren, wenn das VBA-Projekt durch ein Passwort geschützt ist oder die Datei nicht vertrauenswürdig ist. Entferne den Passwortschutz oder füge die Datei zu den vertrauenswürdigen Orten hinzu.


Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, kannst du auch Visual Studio nutzen, um die Zeilennummern anzuzeigen. Hierzu kannst du die Datei in Visual Studio öffnen und die Anzahl der Zeilen direkt im Editor prüfen.

Eine weitere Möglichkeit ist die Verwendung von externen Tools oder Add-Ins, die speziell für die Analyse von VBA-Projekten entwickelt wurden.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können:

  1. Anzahl der Zeilen in mehreren Modulen:

    Sub GesamteAnzahlCodezeilen()
       Dim zeilen As Long
       Dim komponent As Object
       For Each komponent In ThisWorkbook.VBProject.VBComponents
           zeilen = zeilen + komponent.CodeModule.CountOfLines
       Next komponent
       MsgBox "Gesamte Anzahl der Codezeilen: " & zeilen
    End Sub
  2. Codezeilen eines spezifischen Moduls anzeigen: Wenn du nur die Zeilen eines bestimmten Moduls zählen möchtest, kannst du das Modul entsprechend anpassen.


Tipps für Profis

  • Verwende die Debug.Print-Anweisung: Anstatt die Ergebnisse in einer MsgBox anzuzeigen, kannst du die Ergebnisse auch im Direktfenster des VBA-Editors ausgeben, um eine bessere Übersicht zu erhalten.

  • Modularisiere deinen Code: Wenn du häufig mit verschiedenen Modulen arbeitest, kann es hilfreich sein, eine Funktion zu erstellen, die die Anzahl der Zeilen für verschiedene Module zurückgibt.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der VBA-Zugriff nicht blockiert wird?
Überprüfe die Excel-Sicherheitseinstellungen und aktiviere die Option für den Zugriff auf VBA-Projekte.

2. Kann ich die Anzahl der Codezeilen in einer Excel-Datei ohne VBA ermitteln?
Ja, du kannst die Datei in Visual Studio öffnen oder Tools verwenden, die die Analyse von VBA-Projekten unterstützen.

3. Was tun, wenn ich die geschützten Module nicht erreichen kann?
Du musst den Passwortschutz entfernen oder sicherstellen, dass die Datei als vertrauenswürdig eingestuft ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige