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

Ereignisprozeduren automatisiert VBE

Forumthread: Ereignisprozeduren automatisiert VBE

Ereignisprozeduren automatisiert VBE
30.08.2007 16:20:00
Knut
Hallo !
Wuerdet Ihr Euch die Mappe mal anschauen ?
Hab alles moegliche geandert und versucht um die Ereignisprozeduren am Ende eines sehr großen Programmes korrekt in alle Blaetter einzutragen - jetzt geht gar nix mehr. Ich verzweifle an dem Problem seit 36 Stunden und hatte es schon am laufen - allerdings nur mit geoeffnetem VBE - bei geschlossenem VBE immer Absturz.
https://www.herber.de/bbs/user/45553.xls
Danke fuer eure Muehe
Gruß,
Knut

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ereignisprozeduren automatisiert VBE
30.08.2007 16:33:00
Hajo_Zi
Hallo Knut,
ich würde vermuten die Datei ist versaut. Bei mir stürtzt Excel 2007 ab. Übertrage mal alles in eine neue Datei.

AW: Ereignisprozeduren automatisiert VBE
30.08.2007 16:38:00
Knut
Hi !
Nee - mein echtes Prog ist doch viel Groeßer. Habbe diese kleine Minimappe gemacht mit der Schleife die das Makro aufruft, das die Ereignisprozeduren einfuegen soll. also ganz simpel:
' die Schleife
For i = 1 To UBound(dia)
If dia(i) = True Then
Select Case i
Case Is = 1
ereignis "B1_RW"
Case Is = 2
ereignis "B2_RW"
End Select
End If
Next i
' die Prozeduren
Select Case blattname1
Case Is = "B1_RW"
With ActiveWorkbook.VBProject.VBComponents(zielname).CodeModule
ii = .CreateEventProc("SelectionChange", "worksheet") + 1
.InsertLines ii, "dim rngg as range"
.InsertLines ii + 1, "i = 0"
.InsertLines ii + 2, "For Each rngg In Target: i = i + 1: Next rngg"
.InsertLines ii + 3, "If i <> 1 Then"
.InsertLines ii + 4, "Exit Sub"
.InsertLines ii + 5, "End If"
.InsertLines ii + 6, "Select Case Target.Column"
.InsertLines ii + 7, "Case 4 To 10, 15 To 21"
.InsertLines ii + 8, "If Target.Row > 4 And Target.Row < 12 Then"
.InsertLines ii + 9, "If Target.value > 0 Then"
.InsertLines ii + 10, "zeiley = Target.row"
.InsertLines ii + 11, "spaltex = Target.column"
.InsertLines ii + 12, ""
.InsertLines ii + 13, "Materialliste.show"
.InsertLines ii + 14, "End If"
.InsertLines ii + 15, "End If"
.InsertLines ii + 16, "End Select"
End With
Case Is = "B2_RW"
With ActiveWorkbook.VBProject.VBComponents(zielname).CodeModule
ii = .CreateEventProc("SelectionChange", "worksheet") + 1
.InsertLines ii, "dim rngg as range"
.InsertLines ii + 1, "i = 0"
.InsertLines ii + 2, "For Each rngg In Target: i = i + 1: Next rngg"
.InsertLines ii + 3, "If i <> 1 Then"
.InsertLines ii + 4, "Exit Sub"
.InsertLines ii + 5, "End If"
.InsertLines ii + 6, "Select Case Target.Column"
.InsertLines ii + 7, "Case 5 To 13"
.InsertLines ii + 8, "If Target.Row > 6 And Target.Row < 14 Then"
.InsertLines ii + 9, "If Target.value > 0 Then"
.InsertLines ii + 10, "zeiley = Target.row"
.InsertLines ii + 11, "spaltex = Target.column"
.InsertLines ii + 12, ""
.InsertLines ii + 13, "Materialliste.show"
.InsertLines ii + 14, "End If"
.InsertLines ii + 15, "End If"
.InsertLines ii + 16, "End Select"
End With
Case Else
End Select

Anzeige
AW: Ereignisprozeduren automatisiert VBE
30.08.2007 16:40:08
Knut
Was heißt versaut ? Ich hab die Mappe doch extra fuer diesen Zweck neu gemacht - ok ich stelle noch eine hoch.
Gruß,
Kut

AW:Zugriff auf das VBA Projekt
30.08.2007 16:48:45
Hajo_Zi
Hallo Kurt,
ich würde mal vermuten der Betreff ist falsch. Es geht in Deinem Projek um den Zugriff auf das VBA Projekt.
Da bin ich raus.
Gruß Hajo

Anzeige
AW: Ereignisprozeduren automatisiert VBE
30.08.2007 16:49:36
Knut
Hi !
ok - neue Datei - habe nun auch die benoetigten module eingebunden . Aber es stuerzt immer noch ab.
Koennen Excel Dateien kaputt gehen ? Irreparabel ? Ohne dass man was merkt ?
https://www.herber.de/bbs/user/45559.xls
Gruß Knut

Anzeige
AW: Ereignisprozeduren automatisiert VBE
30.08.2007 16:51:00
Knut
bei mir stuerzt es ja auch ab - das ist es ja - und ich kriegs nicht debuggt

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige