Microsoft Excel

Herbers Excel/VBA-Archiv

Ereignisprozeduren automatisiert VBE

Betrifft: Ereignisprozeduren automatisiert VBE von: Knut
Geschrieben am: 30.08.2007 16:20:02

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

  

Betrifft: AW: Ereignisprozeduren automatisiert VBE von: Hajo_Zi
Geschrieben am: 30.08.2007 16:33:46

Hallo Knut,

ich würde vermuten die Datei ist versaut. Bei mir stürtzt Excel 2007 ab. Übertrage mal alles in eine neue Datei.

GrußformelHomepage


  

Betrifft: AW: Ereignisprozeduren automatisiert VBE von: Knut
Geschrieben am: 30.08.2007 16:38:20

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


  

Betrifft: AW: Ereignisprozeduren automatisiert VBE von: Knut
Geschrieben am: 30.08.2007 16:40:08

Was heißt versaut ? Ich hab die Mappe doch extra fuer diesen Zweck neu gemacht - ok ich stelle noch eine hoch.

Gruß,
Kut


  

Betrifft: AW:Zugriff auf das VBA Projekt von: Hajo_Zi
Geschrieben am: 30.08.2007 16:48:45

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


  

Betrifft: AW: Ereignisprozeduren automatisiert VBE von: Knut
Geschrieben am: 30.08.2007 16:49:36

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


  

Betrifft: AW: Ereignisprozeduren automatisiert VBE von: Knut
Geschrieben am: 30.08.2007 16:51:50

bei mir stuerzt es ja auch ab - das ist es ja - und ich kriegs nicht debuggt