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

vba-anfänger braucht hilfe mit code:

vba-anfänger braucht hilfe mit code:
19.04.2007 08:51:05
oxe
Hallo zusammen!
Ich habe hier jetzt mal versucht nen Code zu schreiben, aber der funktioniert nicht und ich habe zu wenig Ahnung von VBA um sagen zu können warum. Ich denke mal da ist schon an der Stelle wo er das Monatsblatt wählt (siehe Kommentare) ein Fehler, weil nichtmal das funktioniert... Aber so etwa vom Ablauf sollte es so aussehen denke ich. Ich mache aber noch eine Abfrage rein, ob der Eintrag in Spalte 65 schon auf "ja" steht, dann ist der Datensatz ja schon eingetragen.
Also, ich habe ein Datenblatt ("Daten") und zwölf Monatsblätter ("01_07" ... "12_07"). Beim Datenblatt kommen immer wieder ein paar Zeilen (Datensätze) dazu und diese (bzw. alle) sollen dann in die Monatsblätter einsortiert werden.
Das Datenblatt ist folgendermaßen aufgebaut:
Jede Zeile beschreibt eine Woche eines Users. Die Spalten geben dann an: Datum des Wochenstarts, Montag, aufgeteilt auf zwei Felder mit Ziffern für Tag und Monat; ein Feld mit der User-Nummer und dann jeweils zu Montag-Freitag die Stunden am Ort-A und am Ort-B (h:mm;h:mm;).
Die Monatsblätter sehen so aus:
Spalten C bis AG beschreiben die Tage, in A5,A9,A13,...,A45 stehen die User und jeweils in der gleichen Zeile Ort-A und in der Zeile darunter Ort-B. In die Zellen wo sich Tag und User/Ort treffen sollen halt die passenden Daten einsortiert werden.
Vielleicht kann sich das hier mal jemand ansehen und mir die Fehler zeigen, wäre sehr dankbar! ist halt mein erster VBA-Code, hab vorher nur einen fertigen bisschen abgewandelt...
Danke sehr!!!

Option Explicit
Sub Einsortieren()
'Sortiert Daten in Monatsblätter ein
If MsgBox("Daten einsortieren?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
On Error Resume Next 'Fehler übergehen wenn Probleme auftreten
Application.EnableEvents = False
Application.ScreenUpdating = False
Dim daten As Boolean
daten = False 'Keine Daten vorhanden als Standard
Dim zeile As Long
zeile = 3 'Startzeile im Datenblatt
Dim spalte As Long
Dim monat As Integer
Dim tag As Integer
Dim stuttgart As Integer
Dim nwheim As Integer
Dim helper As Integer
Dim wksDaten As Worksheet
Set wksDaten = ThisWorkbook.Worksheets("Daten")
Dim wksMonat As Worksheet
If wksDaten.Cells(zeile, 1)  "" Then 'Überprüfen ob Daten vorhanden
daten = True
End If
While daten = True
spalte = 48 'Startspalte im Datenblatt
monat = Month(wksDaten.Cells(zeile, 63)) 'Monat wählen
tag = 2 + Day(wksDaten.Cells(zeile, 64)) 'Tages-Spalte wählen
Set wksMonat = ThisWorkbook.Worksheets(Format(monat, "00") & "_07") 'Monatsblatt wählen
stuttgart = 4 + (wksDaten.Cells(zeile, 62)) * 4 'User-Zeile wählen
nwheim = 5 + (wksDaten.Cells(zeile, 62)) * 4 'User-Zeile wählen
helper = 0
While helper 


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: vba-anfänger braucht hilfe mit code:
19.04.2007 09:55:00
oxe
Ach mist, das funktioniert ja gar nicht so, da trägt er mir ja bis zum 37. eines Monats ein, wenns blöd läuft...
Jemand ne Idee wie man das anders machen könnte?
Habe außerdem noch was geändert, war noch ein Zeilenfehler drin:

stuttgart = 4 + (wksDaten.Cells(zeile, 62)) * 4 'User-Zeile wählen
nwheim = 5 + (wksDaten.Cells(zeile, 62)) * 4 'User-Zeile wählen


wird zu:


stuttgart = 1 + (wksDaten.Cells(zeile, 62)) * 4 'User-Zeile wählen
nwheim = stuttgart + 1 'User-Zeile wählen


und habe noch ne Abfrage eingefügt, ob die Stunden überhaupt ungleich Null sind...
Also, mag mir jemand helfen?

Anzeige
AW: vba-anfänger braucht hilfe mit code:
19.04.2007 10:15:00
Jan3
Hi,
Warum stellst Du nicht eine konkrete Arbeitsmappe ins Forum?
Anhand Deines VBA-Codes und Deiner Beschreibung des Tabellenaufbaus ist mir die Analyse zu aufwendig!
Jan

AW: vba-anfänger braucht hilfe mit code:
19.04.2007 10:38:59
oxe
Ok, habe das ganze mal etwas neutralisiert und hochgeladen, und auch nen Beispiel Stundenzettel, damit man auch was zum einlesen hat... Musste allerdings bei der Datei um die es geht acht von den zwölf Monatsblättern rauslöschen, weil hier nur Dateien bis 300 KB erlaubt sind...
also:

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


und:
https://www.herber.de/bbs/user/41869.xls
Ich denke erstmal reicht es, wenn mir jemand sagt, wie ich es hinbekomme, dass er das richtige Monatsblatt wählt, den Rest bekomme ich dann alleien hin! Denke ich... ;-) Das mit den zu kurzen Monaten ist gelöst aber in der hochgeladenen Version noch nicht drin...
Danke!

Anzeige
AW: vba-anfänger braucht hilfe mit code:
19.04.2007 13:55:50
oxe
habe es über einen kleinen umweg gelöst! hat sich also erledigt, danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige