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

Wann wird dieses Makro gestartet ??

Wann wird dieses Makro gestartet ?
19.11.2005 23:25:30
Heinz
Hallo Leute
Habe ein Makro von jemandem hier im Forum bekommen.Weiss leider nicht mehr von wem.
Das Makro sollte in den Zellen F271:F301 von Montag bis Donnerstag eine 8,am Freitag eine 6 weiters Sam.Sonn und Feiertag frei bleiben.
Leider kommen aber keine Einträge.Makro ist im Tab.Blatt "Jänner".Feiertage stehen im Tab.Blatt "feiertage"A2:A15 und das Datum im "Jänner"A271:A301.
Wüsste bitte jemand warum ?
Danke & Gruß Heinz

Sub FormelEinstellen_Initialize()
Sheets("Jänner").Activate
Range("F271").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-5],feiertage,3,0)),IF(WEEKDAY(RC[-5],2)<5,8,IF(WEEKDAY(RC[-5],2)=5,6,"""")),VLOOKUP(RC[-5],feiertage,3,0))"
Selection.AutoFill Destination:=Range("F271:F301"), Type:=xlFillDefault
Range("F271:F301").Select
End Sub

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wann wird dieses Makro gestartet ?
19.11.2005 23:49:30
Unbekannter
Wenn die Userform mit den Namen "FormelEinstellen" gestartet wird.
Gruß UN1
AW: Wann wird dieses Makro gestartet ?
20.11.2005 00:01:31
PeterW
Hallo,
hmm, Codes eines Userforms sind in der Regel Private, du scheint das Problem verfolgt zu haben und mehr zu wissen. Sorry für die Einmischung.
Gruß
Peter
AW: Wann wird dieses Makro gestartet ?
20.11.2005 00:10:25
Unbekannter
1. Das Private ist nicht zwingend notwendig und Initialize wird nur bei Userformen genutzt.
2. Du kannst dich einmischen wo du willst dafür ist ein Forum da.
Gruß UN1
AW: Wann wird dieses Makro gestartet ?
20.11.2005 00:16:12
Leo
Hi,
stimmt nicht ganz. damit das ausgeführt wird, muss es zwingend so lauten:
Sub UserForm_Initialize()
oder
Private Sub UserForm_Initialize()
mfg Leo
Anzeige
AW: Wann wird dieses Makro gestartet ?
20.11.2005 00:24:37
Unbekannter
Bitte? Das "FormelEinstellen,Userform" steht für den Namen der Userform den kann man ändern wie man will.
Sub FormelEinstellen_Initialize()
Sub UserForm_Initialize()
Gruß UN1
AW: Wann wird dieses Makro gestartet ?
20.11.2005 01:05:33
Leo
Hi,
umbenennen kannst du wie du willst, nur ausgeführt wirds nicht, probier es aus.
mfg Leo
Stimmt o.T
20.11.2005 01:14:25
u
Stimmt o.T
20.11.2005 01:14:53
Unbekannter
AW: Wann wird dieses Makro gestartet ?
19.11.2005 23:55:40
PeterW
Hallo Heinz,
ist vielleicht besser, dass du nicht mehr weißt, von wem der Code stammt. Es werden nur jede Menge Formeln in die Tabelle geschrieben, dafür braucht es kein VBA. Der Code muss händisch gestartet werden und gehört eher in ein normales Modul.
Stell bitte einen Link auf deine Ausgangsfrage hier rein oder noch besser, lade eine Beispieltabelle auf den Server und beschreibe, wie der Code gestartet werden soll - sofern sich das nicht aus der Ausgangsfrage (und dem Link darauf) selbst erklärt.
Gruß
Peter
Anzeige
AW: Wann wird dieses Makro gestartet ?
20.11.2005 10:39:00
Heinz
Hallo Peter
Danke für Deine angebotene Hilfe
Also der Code sollte bei "Jänner" in F271:F301 je nach Datum entweder 8-6 oder leer eingetragen werden.
Habe den Code im "Jänner" '-----Formel für Ruthenstorfer Stunden------
Wenn Du mir helfen könntest,wäre das Super.
Danke Heinz
https://www.herber.de/bbs/user/28527.zip
AW: Wann wird dieses Makro gestartet ?
20.11.2005 10:52:58
Klaus-Dieter
Hallo Heinz,
das kann so nicht funktionieren, diese beiden Makros gehören, so wie sie sind, in das Modul eines UserForm.
'-------Bildschirmauflösung-------------

Private Sub UserForm_Initialize()
If ScreenResolution() = "800x600" Then
UserForm1.Height = 430
UserForm1.Width = 600
UserForm1.Zoom = 70
End If
If ScreenResolution() = "1024x768" Then
UserForm1.Height = 555
UserForm1.Width = 768
UserForm1.Zoom = 79
End If
If ScreenResolution() = "1152x864" Then
UserForm1.Height = 620
UserForm1.Width = 865
UserForm1.Zoom = 98
End If
End Sub

'-----Formel für Ruthenstorfer Stunden------
Sub UserForm_Initialize()
Sheets("Jänner").Activate
Range("F271").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(VLOOKUP(RC[-5],feiertage,3,0)),IF(WEEKDAY(RC[-5],2) Selection.AutoFill Destination:=Range("F271:F301"), Type:=xlFillDefault
Range("F271:F301").Select
End Sub
Das macht vom Inhalt her, für das zweite Makro keinen Sinn. Zumindest erkenne ich nicht, warum beim Öffnen eines Userform Formeln in eine Tabelle geschrieben werden sollen.
Ich halte ohnehin nichts davon, per Makro Formeln in ein Tabellenblatt zu schreiben. Das kann man, da es meit nur einmal erforderlich ist, auch von Hand tun. Aber OK, wenn man das schon machen will, könnte das im Modul des Tabellenblattes stehen, und mit dem Activate-Ereignis ausgelöst werden.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Wann wird dieses Makro gestartet ?
20.11.2005 11:02:16
Heinz
Hallo Klaus Dieter
Danke für Deine Antwort,aber wenn ich die Formel in die Zellen schreibe und dann bei 12 Blätter "Jänner bis Dezember" wird doch die Mappe so groß oder?
Darum dachte ich es wäre besser mit Makro.
Wärst Du bitte so nett und könntest mir bitte die 2 Makros einbauen.
Danke Heinz
AW: Wann wird dieses Makro gestartet ?
20.11.2005 11:43:51
Klaus-Dieter
Hallo Heinz,
irgendwie kommt mir die Tabelle bekannt vor. ;-)
Hatte den Quelltext jetzt mal probehalber eingebaut. Dabei ist mir aufgefallen, dass die UCase-Anweisungen einen Fehler verursachen. Das würde ich anders lösen. Wie ich vermute, willst du damit eventuelle Eintragungen in Kleinschrift in der Spalte D abfangen. Das kann man doch auch mit Gültigkeit erreichen, was in diesem Fall viel eleganter wäre. Denn damit werden dann alle Möglichkeiten einer falschen Eingabe verhindert.
Ich werde mal versuchen, deine Formel für Spalte F in VBA zu übertragen. Denn so wie du das versucht hast, spart das keinen Speicherbedarf. Alle VBA Quelltexte, die in den Monatsblättern wirken sollen, kann man im Modul der Arbeitsmappe unterbringen, dann werden sie nur einmal benötigt.
Werde mal versuchen, das zu realisieren. Muss dich aber um etwas Geduld bitten, da ich Ende der Woche einen Excel-Workshop leite, für den ich noch ein paar Dinge, die sich kurzfristig ergeben haben, vorbereiten muss.
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Wann wird dieses Makro gestartet ?
20.11.2005 11:51:45
Heinz
Hallo Klaus Dieter
Ich bedanke mich recht herzlich bei Dir,für Deine Hilfsbereitschaft.
Danke & Gruss Heinz
AW: Wann wird dieses Makro gestartet ?
20.11.2005 12:59:48
Klaus-Dieter
Hallo Heinz,
ich habe da noch eine Frage, die Formeln in Spalte F erzeugen in jedem Fall einen Eintrag in Abhängigkeit vom Wochentag sind das 8 bzw. 6 Stunden. Ein Eintrag in Spalte D erzeugt ebenfalls in Spalte F einen Eintrag, sofern in Spalte D (Schicht)1, 2 oder 3, oder S eingetragen wird. Ist das so richtig? Oder sollen in Spalte F nur Einträge erfolgen, wenn in Spalte D eine entsprechende Schicht steht?
Viele Grüße Klaus-Dieter

Online-Excel
Anzeige
AW: Wann wird dieses Makro gestartet ?
21.11.2005 06:58:45
Heinz
Guten morgen Klaus Dieter
Konnte mich erst leider heute melden,hatte gestern Nachmittagschicht.
zu Deiner Frage. Mein Kollege "Ruthenstorfer" ist kein Schichtarbeiter,darum sollte F271:F301 gesondert gerechnet werden.Arbeitszeit ist Mo-Do 8:0 Fr.6:0 Sa,So.und Feiertag frei.
Die zweite Frage: Habe eben einen Button im "Jänner" "Schicht eintragen".Wo die Daten aus "Schichtplan" in Spalte D übertragen wird.
Daten Übertragen funkt.auch aber in Spalte F werden leider so wie gewünscht die 8,0 nicht angezeigt.
Nur wenn ich sie händisch in Spalte D zb. 1 eingebe.
Recht herzlichen Dank
Gruß Heinz
Anzeige
AW: Wann wird dieses Makro gestartet ?
22.11.2005 13:57:18
Klaus-Dieter
Hallo Heinz,
so würde ich das nicht lösen. Mein Vorschlag wäre, in Spalte D zusätzlich eine Kennung für Normaldienst einzuarbeiten. Das hätte den Vorteil, dass an der Tabelle nichts geändert werden muß, wenn weitere Kollegen in Normalschicht arbeiten würden.
Ich werde heute Abend eine entsprechende Beispieltabelle hier hochladen.
Viele Grüße Klaus-Dieter

Online-Excel
AW: Wann wird dieses Makro gestartet ?
22.11.2005 16:36:26
Heinz
Hallo Klaus Dieter
Danke für Deine Angebotene Hilfe.
Bin schon wieder ein Stück weiter gekommen.Habe die aktuelle Version mal hochgeladen.
Gruß Heinz
https://www.herber.de/bbs/user/28612.zip
Anzeige
AW: Wann wird dieses Makro gestartet ?
22.11.2005 19:43:05
Klaus-Dieter
Hallo Heinz,
in der Anlage mein Vorschlag mit der Gültigkeit in Spalte D. Müsste natürlich noch perfektioniert werden. Wollte aber nicht zu viel Arbeit reinstecken bevor ich weiß, ob dir das so zusagt. https://www.herber.de/bbs/user/28615.zip
Viele Grüße Klaus-Dieter

Online-Excel
AW: Wann wird dieses Makro gestartet ?
22.11.2005 19:55:04
Heinz
Hallo Klaus Dieter
Danke für Deine mühevolle Arbeit.Aber leider ist es nicht das passende.
Denn mein Abteilungsleiter muss die Stunden für alle Mitarbeiter eingeben,das wäre doch dann zu Mühvoll.
Nein das andere Makro läuft hervorragend,bis eben "Ruthenstorfer" Zelle 271 bis 301 dieser ist zwar in unserer Abteilung,ABER kein Schichtarbeiter.
Es ginge ja mit Formeln,aber wenn sich ätwas ändert muß ich die Formel in den Zellen löschen und die Mappe dann mit 12 "Jänner bis Dezember" doch ziemlich groß.
Vielleicht ginge es mit dem Makro.Wenn ich zb. Button 1 "Daten einfügen" Clicke das die Daten dann eingetragen werden.
Ich hoffe Du bist mir nicht böse da ich Deine mühevolle Arbeit für mich nicht so passend finde.
Danke & Gruß Heinz
Anzeige
AW: Wann wird dieses Makro gestartet ?
23.11.2005 14:45:22
Heinz
Danke an alle die mir geholfen haben.
Habe es durch Eure Hilfe endlich geschafft.
Danke & Gruß Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige