Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
584to588
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
584to588
584to588
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

per VBA Zeile aus Modul löschen

per VBA Zeile aus Modul löschen
17.03.2005 13:53:11
Uwe
Hallo Herfer
VBA gut... aber hier scheitere ich..
Wie kann ich durch Makrocode Makrocode weiter oben weglöschen?

Private Sub Workbook_Open()
'Zeile1 Kann auch code sein
'Zeile2
'und hier geht es weiter
'hier soll jetzt hin, den Eintrag von Zeile1 bis Zeile2
ThisWorkbook.Save
End Sub

In der Recherche hab ich nur gefunden "kompl. Modul zu löschen"
Danke und Gruß
Uwe

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Warum per VBA Zeile aus Modul löschen ?
17.03.2005 14:09:06
marcl
Hallo Uwe,
warum möchtest Du eine Makro weiter oben löschen, wenn es durchgelaufen ist? Soll für weitere Läufe was verändert werden?
Gruß
marcl
genau...
17.03.2005 14:12:26
Uwe
Hallo nochmal
in den oberen Zeilen will ich eine Art Registrierung durchführen, Aber nur beim ersten mal.
Hab mitlerweile was gefunden.. aber das klappt nicht
Wer hilft?
With ActiveSheet.Parent.VBProject.vbcomponents(ActiveSheet.CodeName).codemodule
.DeleteLines 1, 2
End With
AW: genau...
17.03.2005 14:18:57
marcl
ach so,
wie wärs mit nem Zellenbezug?
If Range("IV65000")"" Then ' niemals verwendete Zelle
...
Range("IV65000")=1
End If
Gruß
marcl
Anzeige
AW: genau...
17.03.2005 14:22:34
P@ulchen
Hallo Uwe,
Beispiel:


Sub löschen()
    With ThisWorkbook.VBProject.VBComponents("Modul1").CodeModule
        .DeleteLines 5,1
    End With
End Sub


Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Danke, es klappt
17.03.2005 14:36:19
Uwe
Hallo
besten Dank.
So hab ich es jetzt gelöst
In DieseArbeitsmappe

Option Explicit
Private Sub Workbook_Open()
Register
Dim LOG, LR%, UserN$, UserID$
On Error Resume Next
Set LOG = ThisWorkbook.Sheets("LOG")
LR = LOG.Cells(Rows.Count, 1).End(xlUp).Row 'letzte Zeile der Spalte
UserN = Application.UserName
UserID = Environ("Username")
LOG.Cells(LR + 1, 1).Value = Format(Now, "YYYY.MM.DD hh:mm:ss")
LOG.Cells(LR + 1, 2).Value = UserID
LOG.Cells(LR + 1, 3).Value = UserN
End Sub

in Modul1

Option Explicit
Sub Register() 'Steht in Modul
'hier steht die Registrierung
With ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe").codemodule
.DeleteLines 3
End With
ThisWorkbook.Save
End Sub

Damit lösche ich den Register Aufruf raus
Klappt
Anzeige
AW: Danke, es klappt
17.03.2005 15:03:56
Uwe
Hi
und so wird auch noch das ganze Modul selbst gelöscht

Sub Register() 'Steht in Modul1
'hier steht die Registrierung
With ThisWorkbook.VBProject.VBComponents("DieseArbeitsmappe").codemodule
.DeleteLines 3
End With
With ThisWorkbook.VBProject
.VBComponents.Remove .VBComponents("Modul1")
End With
ThisWorkbook.Save
End Sub

Gruß Uwe
AW: Danke, es klappt
17.03.2005 15:37:16
P@ulchen
Hallo Uwe,
gibt aber sicher ein anderes Problem:
Wenn die Datei von anderen Usern genutzt werden soll, muß "Zugriff auf das Visual Basic-Projekt vertrauen" angehäkselt sein, da sonst eine Warnmeldung erscheint und der Code nicht ausgeführt wird.
Die Frage ist dann immer, ob der User das so einfach gestattet...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
Klar..
17.03.2005 16:21:45
Uwe
Hallo Paulchen
Die Datei gibt nur mit Makro Sinn, da hier verschiedene Ereignisse beim Wechsel auf Diagrammseiten ausgelöst werden usw.
Ohne Makro macht die Datei "keinen Spaß".....
Gruß Uwe
AW: Klar..
17.03.2005 18:41:58
P@ulchen
Hallo Uwe,
ich bin mir nicht sicher, ob Du mich richtig verstanden hast...
Ich meinte nicht die Aktivierung der Makros beim Öffnen der Mappe, sondern die Sicherheitseinstellungen im Excel auf dem PC des Users.
Schau mal unter Extras-Makro-Sicherheit-Vertrauenswürdige Quellen, da muß das Häkchen bei Zugriff auf... gesetzt sein. Ist dem nicht so, wirst Du mit Deinem Code wenig Glück haben.
Ich denke, daß es kein guter Programmierstil ist, wenn man dynamisch Codezeilen hinzufügt oder löscht. Sicher geht es manchmal nicht anders, vor allem wenn man einen Code erstellt, der nach Möglichkeit auf allen Excel-Versionen laufen soll.
Nimm besser einen Zellwert in einem ausgeblendeten Blatt und frage diesen ab, um Deine Registrierung durchzuführen.
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige