Microsoft Excel

Herbers Excel/VBA-Archiv

Änderung eines "privaten" Moduls | Herbers Excel-Forum


Betrifft: Änderung eines "privaten" Moduls von: Uwe Siebers
Geschrieben am: 17.12.2009 10:06:33

Guten Morgen zusammen!

Einmal mehr geht es mir darum, ein bestehendes Modul zu verändern. Diesmal soll aus einer "privaten" Prozedur schlicht eine "öffentliche", also eine Prozedur werden, die ich grundsätzlich ansprechen kann. Bisher steht im Tabellenblatt ("Name des Mitarbeiters") nachfolgende Anweisung:

Sub WinterArbeitszeit_TVöD()
Dim rng As Range
Range("D5:D35").ClearContents
For Each rng In Me.Range("A5:A" & Me.Cells(Rows.Count, 1).End(xlUp).Row)
Select Case Weekday(rng, 2)
'Festsetzung der täglichen Arbeitszeit (Mo-Do)
Case 1 To 4
rng.Offset(0, 3) = TimeSerial(8, 15, 0)
rng.Offset(0, 4) = TimeSerial(7, 30, 0)    'Beginn
rng.Offset(0, 5) = TimeSerial(16, 15, 0)  'Ende
'Festsetzung der täglichen Arbeitszeit (Fr)
Case 5
rng.Offset(0, 3) = TimeSerial(6, 0, 0)
rng.Offset(0, 4) = TimeSerial(7, 30, 0)    'Beginn
rng.Offset(0, 5) = TimeSerial(13, 30, 0)  'Ende
Case Else
End Select
Next
End Sub

Um nunmehr daraus eine "öffentliche", also allgemein gültige Prozedur daraus zu machen, nehme ich zunächst ja die "Me." Anweisung heraus. Soweit noch in Ordnung.

Versuche ich dann diese "Sub" anzusprechen, geschieht nichts, da diese nach Prüfung (F8) bei "Select Case Weekday(rng, 2)" aussteigt.

Tja, brauchte schooon wieder Hilfe.

Besten Dank für Eure Hilfe und Mühe.

Uwe

  

Betrifft: AW: Änderung eines "privaten" Moduls von: Rudi Maintaire
Geschrieben am: 17.12.2009 10:17:53

Hallo,
du musst sie in ein allg. Modul schreiben. Dann wirkt sie auf das aktive Blatt.

Gruß
Rudi


  

Betrifft: AW: Änderung eines "privaten" Moduls von: Uwe Siebers
Geschrieben am: 17.12.2009 10:50:31

Hallo Rudi,

das ist vollkomen richtig, was Du schreibst. So hab ich`s ja auch schon gemacht. Nur, eben (leider) mit "Ausstieg" bei...

Select Case Weekday(rng, 2)

Und das verstehe ich im Augenblick leider wirklich nicht.

Und nu???

Lieben Gruß

Uwe

PS: "Me." hab ich natürlich für`s allgemeine Modul schon mal weg gelassen.


  

Betrifft: AW: Änderung eines "privaten" Moduls von: Ramses
Geschrieben am: 17.12.2009 11:04:18

Hallo

WAS steht denn in A5 ?
Das Makro läuft bei mir einwandfrei und korrekt durch.

Starte das Makro doch mal mit F8 im Einzelschritt und wenn die Zeile mit "Select Case" markiert ist, gehe mit dem Mauszeiger über "rng" und schau mal was dann dort angezeigt wird.

Gruss Rainer


  

Betrifft: AW: Änderung eines "privaten" Moduls von: Uwe Siebers
Geschrieben am: 17.12.2009 11:28:57

Hallo Rainer,

jetzt wird`s richtig dubios... Denn in A5 steht, wie`s sein soll stets das Datum des Monatsersten (z.B. 01.01.2010) "rng" in Select case gibt mir dieses Datum ebenso "zurück"

Tja, Uwe, einmal mehr hiiilflos...

Besten Dank für weiter Hilfe

Uwe


  

Betrifft: AW: Änderung eines "privaten" Moduls von: Ramses
Geschrieben am: 17.12.2009 12:00:30

Hallo

Du schreibst nur dass die Prozedur aussteigt.
WELCHE Fehlermeldung erhältst du denn ?

Gruss Rainer


  

Betrifft: AW: Änderung eines "privaten" Moduls von: Uwe Siebers
Geschrieben am: 17.12.2009 12:21:08

Hallo Rainer!

Ich bekomme keine Fehlermeldung. Das isses je gerade. Es tut sich einfach nichts. O.k. mit "aussteigen" meinte ich, das ich bei der schrittweisen Prüfung mit F8 die "gelbe Zeile" bei "Select case..." erkenne.

Werde das Modul nunmehr aber mal außerhalb meiner Mappe testen. Mal seh`n was dann geschieht.

Gruß

Uwe


Beiträge aus den Excel-Beispielen zum Thema "Änderung eines "privaten" Moduls"