Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Einführung in VBA

Einführung in VBA
11.11.2005 21:31:12
MikeMüller
Wer kann mir einen Crash-Einführung in VBA geben.
Ich will folgenden Code (hab ich von Harald E)in eine Excel-Datei zur Schicht/Stundenberechnung einfügen. Ich weiß nur, dass ich in den Visual Basic-Editor muss. Das waren leider auch schon meine Kentnisse.
Dim iDate As Integer
Dim dBezug As Date

Sub schicht()
dBezug = #5/17/2004#
'If Not Intersect(ActiveCell, Range("A2:A20")) Is Nothing Then
iDate = (ActiveCell - dBezug) Mod 21
Select Case iDate
Case 0 To 6
ActiveCell.Offset(0, 1) = "06:00 - 14:00"
Case 7 To 13
ActiveCell.Offset(0, 1) = "14:00 - 22:00"
Case 14 To 20
ActiveCell.Offset(0, 1) = "22:00 - 06:00"
End Select
'End If
End Sub

Vielen Dank für die Hilfe.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einführung in VBA
11.11.2005 21:56:24
DieterB
Was ist jetzt dein Problem?????
Gruß DieterB
AW: Einführung in VBA
11.11.2005 22:11:20
MikeMüller
Îm Visual Basic-Editor öffne ich jetzt einfach ein neues Modul und gebe den Code ein. Und dann? Was muss ich dann machen?
AW: Einführung in VBA
11.11.2005 22:13:17
DieterB
Wann soll denn der Code ausgeführt werden?
Gruß DieterB
AW: Einführung in VBA
11.11.2005 22:16:08
MikeMüller
Der Code soll dann ausgeführt werden, sobald ich eingegeben habe, in welcher schicht ich bin. Also z.B. auf der Tabelle 1 gebe ich an, dass ich in Schicht 1 bin. Dann soll in Tabelle 2 an dem jeweiligen Tag, an dem ich arbeite die Zeiten automatisch eingetragen werden.
AW: Einführung in VBA
11.11.2005 22:31:13
DieterB
Dann nehme das Modul Tabelle1, und sezze den Code in das Selection_Change - Ereigniss.
Also tausche sub...()
gegen private sub Selection_Change aus.
Viel Erfolg
Gruß DieterB
Anzeige
AW: Einführung in VBA
11.11.2005 23:06:09
PeterW
Hallo Mike,
Harald hatte dir aus gutem Grund geschrieben, dass sich VBA nicht in wenigen Minuten erklären lässt. Um den Code auf deine Problemstellung anpassen zu können wirst du eine Beispieltabelle auf den Server stellen müssen aus der hervorgeht, wie die Daten in Tabelle 2 organisiert sind. Wichtig wäre auch zu wissen, wie deine Schichten durchlaufen, jeweils 5 Tage (Mo-Fr) arbeiten und dann 2 Tage frei, Früh - Nacht - Spät?
Gruß
Peter
AW: Einführung in VBA
12.11.2005 13:21:39
Mikemüller
Hi, ich hab jetzt mal Excel-Mappe hochgeladen unter

Die Datei https://www.herber.de/bbs/user/28334.xls wurde aus Datenschutzgründen gelöscht

Man kann auf der Seite "Anleitung" die Schicht eintragen und auf der Seite "01" dann eintragen wie man gearbeitet hat. Es sollen halt die Standard-Zeiten automatisch eingetragen werden, aber auch änderbar sein.
Ich hab mal die Standard-Zeiten eingetragen an einem Tag, wie es sein soll.
nochmals Danke
Anzeige
AW: Einführung in VBA
12.11.2005 17:46:10
PeterW
Hallo Mike,
stehen in C:E auf "01" die Einsen schon oder sollen die auch automatisch gesetzt werden? Für was stehen diese Einsen? Was passiert, wenn statt 1 in "Anleitung" 2 bis 5 eingegeben werden?
Gruß
Peter
AW: Einführung in VBA
12.11.2005 17:57:07
MikeMüller
Die Einsen in in Spalte C-E werden automatisch in 1-5 geändert, je nach dem, was man in "Anleitung" eingibt.
Wenn man in "Anleitung" die 2 eingibt, erscheinen bei "01" dann in den Spalten C-E die 2er an dem Tag, an dem die Schicht 2 arbeitet.
Die Einsen stehen für die Schicht 1, die 2 dann für Schicht 2, die 3 für Schicht 3, usw.
AW: Einführung in VBA
12.11.2005 20:19:32
PeterW
Hallo Mike,
schau dir mal an, ob das deinen Vorstellungen entspricht - habe allerdings nur die Änderung der Schicht im ersten Blatt berücksichtigt.
https://www.herber.de/bbs/user/28346.xls
Gruß
Peter
Anzeige
AW: Einführung in VBA
13.11.2005 13:56:08
MikeMüller
Hi Peter,
Danke, dass entspricht genau dem, was ich gemeint habe.
Allerdings, immer wenn ich die Schicht ändern will erscheint folgender Fehler:
Laufzeitfehler '13':
Typen unverträglich
Danke
AW: Einführung in VBA
13.11.2005 14:56:24
PeterW
Hallo Mike,
in welcher Zeile des Codes kommt es zu diesem Fehler? Bei mir läuft er problemlos durch.
Gruß
Peter
AW: Einführung in VBA
13.11.2005 15:23:21
MikeMüller
Wenn ich in "Anleitung" in Feld B18 1 eingebe, dann in Zeile 16
If .Cells(lgZeile, 4).Value >= 1 And .Cells(lgZeile, 4) <= 5 Then
Wenn ich 2, 3, 4, 5 eigebe dann in Zeile 8
If .Cells(lgZeile, 3) >= 1 And .Cells(lgZeile, 3) <= 5 Then
Wenn ich das jetzt auch für die anderen Monate machen will, muss ich immer ein neues Modul anlegen und in Zeile 5 - With Worksheets("01") ind die Klammer den jeweiligen Tabellennamen eingeben.
Anzeige
AW: Einführung in VBA
13.11.2005 17:24:12
PeterW
Hallo Mike,
ich kann mir das erst morgen mit Excel 8 anschauen. Dazu werde ich dir dann hoffentlich noch etwas sagen können.
Es gibt einfachere Wege, als für jeden Monat den Code erneut einzugeben. Ein Beispiel ohne jegliche Fehlerbehandlung habe ich dir hochgeladen ( https://www.herber.de/bbs/user/28358.xls ). Natürlich müssen die anderen Tabellenblätter (02 - 12) auch vorhanden sein.
Gruß
Peter
AW: Einführung in VBA
13.11.2005 20:09:28
MikeMüller
Hi Peter, ich habe mir jetzt mal zum Probieren Office XP besorgt. Es geht alles wunderbar.
Aber ist es auch möglich bei der Datei
https://www.herber.de/bbs/user/28358.xls
Die Stundenberchnung ohne den "Berechungs"-Button und Monatseingabe zu machen.
MfG
Anzeige
AW: Einführung in VBA
13.11.2005 20:38:47
PeterW
Hallo Mike,
irgendwie musst du Excel schon mitteilen, für welchen Monat der Plan gemacht werden soll - ohne Monatsangabe kann Excel höchstens Vermutungen anstellen, und das ist selbst in Version 12 nicht implementiert. ;-) Wie Excel ohne Monatsangaben mit dem Blatt "01" umgeht hast du als Beispiel vorliegen.
Sei mir nicht böse aber weder ist es im Sinn des Forums noch habe ich die Zeit, eine Komplettlösung zu entwickeln. Wenn du bei der Programmierung konkrete Probleme hast wirst du hier sicher jede Menge Hilfe bekommen. Das Forum wird aber kaum einen Grundkurs in VBA-Programmierung ersetzen können.
Gruß
Peter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige