Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1100to1104
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
Inhaltsverzeichnis

Fehler innerhab einer Prozedur

Fehler innerhab einer Prozedur
Uwe
Hallo,
heute ist wohl nicht wirklich mein Tag! Vorhin ein - für sich betrachtet - funktionierenden Code bekommen. Hierbei ging es darum, innerhalb eines Tabellenblatttes den aufgeführten Wochentagen entsprechende Arbeitszeiten "von - bis" zuzuordnen. Wie gesagt, für sich betrachtet, kein Problem. Aber...
Bei meinen Vorgaben ist mir da ein Fehler unterlaufen. Sobald ich nämlich innerhalb der Zelle A1 des Blattes "Zeitdaten" das Datum ändere, sollen zunächst ausschließlich im Blatt "TVöD" die Zellinhalte "C5:C35" gelöscht und mit Hife der funktionierenden Routine "Worktime" (Blatt "TVöD") wieder überschrieben werden.
Bisher bin ich stets daran gescheitert, das die Routine "Call..." entweder daran scheitet, das ich keine " Private Sub" ansprechen kann, bzw. die Routine einfach nicht funktioniert. Hierzu hatte ich bereits diese in ein allgemeines Modul umgewandelt (die .Me Anweisung entfällt dabei natürlich...)
Wäre nett, so mir jemand dabei behilflich sein kann. Die Datei findet Ihr unter:
https://www.herber.de/bbs/user/64356.xls
Vielen Dank
Uwe
(VBA-Nervensäge)

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

Betreff
Benutzer
Anzeige
AW: Fehler innerhab einer Prozedur
12.09.2009 16:19:40
Heinz
Hi,
es fehlt nur der Code zum Löschen der Werte in Spalte C (ClearContents).
Ansonsten ist alles ok, du musst beim Aufruf des Makros nur den Tabellennamen
angeben. Der Aufruf der Sub Worktime() erfolgt im Change-Ereignis der anderen Tabelle.
mfg Heinz
AW: Fehler innerhab einer Prozedur
12.09.2009 16:24:56
Uwe
Hallo Heinz!
Auf "ClearContents" bin ich gerade eben selber gestoßen. Aber, um ehrlich zu sein verstehe ich`s immer noch noch nicht, wie ich diese Prozedur ansprechen muß.
Bist Du so gut und ergänzt mit diese Angaben, indem du mir diesen korrekten Verweis aufschreibst?
Vielen Dank
Uwe
AW: Fehler innerhab einer Prozedur
12.09.2009 17:29:59
Original
Hi,
im Modul von "Zeitdaten":
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then Call tb31100010.Worktime
End Sub

im anderen Blatt:
Sub Worktime()
Dim rng As Range
Me.Range("c5:c" & Me.Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
For Each rng In Me.Range("A5:A" & Me.Cells(Rows.Count, 1).End(xlUp).Row)
Select Case Weekday(rng, 2)
Case 1 To 4 'Wochentag 1 bis 4
rng.Offset(0, 2) = TimeSerial(7, 0, 0) 'Beginn
rng.Offset(0, 3) = TimeSerial(15, 30, 0) 'Ende
Case 5 'Wochentag 5
rng.Offset(0, 2) = TimeSerial(7, 0, 0) 'Beginn
rng.Offset(0, 3) = TimeSerial(14, 30, 0) 'Ende
End Select
Next
End Sub Allerdings passen sich die Datumwerte noch nicht automatisch an den neuen Monat an,
das ist aber mit wenigen Klicks erledigt.
mfg Kurt
Anzeige
AW: Fehler innerhab einer Prozedur
12.09.2009 19:27:58
Uwe
Hallo Kurt,
inzwischen hab ich des Rätsels Lösung selber entdeckt! (geht doch!!!) Na, Spaß beiseite. Ich hab`s hinbekommen DOCH auf eine PRIVATE Routine zuzugreifen:
Call Worksheets("TVöD").Arbeitszeit_TVöD
Mußte nur das Tabellenblatt benennen und die Ansteuerung hinzubekommen. Letztlich relativ simpel.
Trotzdem natürlich danke für Deine Mühe.
Gruß
Uwe
Da haste Glück, dass das Modul nicht auch...
13.09.2009 01:27:45
Luc:-?
...noch Private iss wie bei mir, Uwe... ;-)
Gruß Luc :-?
AW: Da haste Glück, dass das Modul nicht auch...
15.09.2009 14:02:32
Uwe
Hallo Luc!
Das Modul war Private. Trotzdem kannste derartige Module ansprechen. Mußt eben "nur" in der Call-Anweisung das Tabellenblatt mit ansprechen, wo die Prozedur "versteckt ist.
Uwe
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige