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

brauche dringend hilfe

brauche dringend hilfe
08.05.2006 18:42:01
selo
hallo an alle
ich sitze an meiner diplomarbeit und komme nicht weiter
habe hier mal eine beispielmappe hochgeladen um es verständlich zu machen https://www.herber.de/bbs/user/33425.xls
ich habe in einem tabellenblatt namens "Stammdaten" eine auflistung der Personen mit auflistung welchem team sie angehören sowie ein eine sp gruppenzuweisung wie oben links in der mappe.diese liste der personen ist dynamisch es kommen welche hinzu und andere werden gelöscht.von einer anderen tabelle namens SP habe ich den Einsatz also wie die sp's anwesend sind.
Nun habe ich ein Tabellenblatt in welchem ich ab spalte b4 das datum herunterlaufen lasse jeweils immer für ein bestimmtes jahr.
weil es bei den daten die ich bekomme immer um aktualisierungen handelt und ich einige zellen löschen muß und aus einigen anderen gründen muß ich mittels vba arbeiten.
nun denn ich muß ab spalte h so etwas wie das gelb unterlegte machen.
1.also muß immer jeweils zum team der teamangehörige aufgelistet werden
2.es muß verglichen werden in welcher sp gruppe sich die person befindet und hiernach eingetragen werden ob er an dem Tag anwesend ist.
wenn irgendjemand mir helfen könnte wäre ich sehr dankbar denn ich weiß nicht wie ich das machen soll, und mir die zeit im nacken steht.
gruß an alle helfenden
selo

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: brauche dringend hilfe
09.05.2006 00:05:23
Herbert
hallo selo,


Option Explicit
Public Sub x()
Dim i&, s As Byte, d As Byte, z&
Dim As Byte, wt As Byte, wtZ As Byte
On Error GoTo errEnde
Application.ScreenUpdating = False
For i = 2 To 11
  For s = 5 To 14
      If Cells(i, 1) = Cells(13, s) Then
          For d = 4 To 7
              If Cells(d, 4) = Cells(i, 3) Then
                  For z = 14 To 300
                     For t = 5 To 11
                        wt = Weekday(Cells(z, 4))
                        wtZ = Weekday(Cells(3, t))
                        If wt = wtZ And Cells(d, t) = 1 Then
                          Cells(z, s) = 1
                        End If
                         If wt = wtZ And Cells(d, t) = 0 Then
                          Cells(z, s) = 0
                        End If
                     Next
                  Next
               End If
           Next
        End If
     Next
Next
                       
errEnde:
Application.ScreenUpdating = True
End Sub

     
das könnte die Lösung sein,wenn du in deiner Tabelle eine
kleine Veränderung machst...
vollautomatisiert für variable Anzahl Zeilen ist es auch nicht...
gruß Herbert
Anzeige
AW: brauche dringend hilfe
09.05.2006 00:39:03
selo
hallo herbert
ich danke dir ersteinmal sehr das du dich meiner annimst
ich habe mal den code getestet jedoch endet dieser
bei
wtZ = Weekday(Cells(3, t))
übersehe ich etwas'?
ich habe nicht verstanden was du mit der veränderung meinst
mfg
selo
AW: brauche dringend hilfe
09.05.2006 08:25:38
Herbert
hallo selo,
das Programm gibt dir ja den Hinweis,wo du etwas ändern mußt....
wtZ = Weekday(Cells(3, t))
wtz = Wochentag Zeile
t = Spalte 5 bis 11
3 = Zeile 3
dort mußt du ein Datum eintragen,weil dann aus dem Datum
der Wochentag ausgelesen wird...
welches Datum ist egal...es muß nur von Montag bis Sonntag sein...
du kannst ja dann die Zellen so Formatieren: "TTTT"
gruß Herbert
Anzeige
AW: brauche dringend hilfe
09.05.2006 13:44:49
selo
hallo herbert
ich danke dir vielmals
es klappt jetzt wunderbar
muß jetzt nur noch das mit den variablen namen hinbekommen
mfg
selo
bekommst du es hin ? ....o.T.
09.05.2006 17:31:42
Herbert
gruß Herbert
AW: bekommst du es hin ? ....o.T.
09.05.2006 18:55:32
selo
hallo herbert
um ehrlich zu sein wird das etwas problematisch
ich hatte mir noch gedacht das ich die zeile
For z = 14 To 300
etwas umändere und anstelle der 300 einen betrag in einer zelle zB c14 zuordne das ich dann
mittels berechnung sagen kann dies gilt nur für das jahr 2006,2007, etc das ich dann durch den berechneten wert auch die schaltjahre einbeziehe.
also in ganz einfacher weise soetwas (ist bestimmt falsch;-))
For z = 14 To cells(14, 3)
Anzeige
warum...
09.05.2006 21:05:40
Herbert
...soll das nicht funktionieren ?
außerdem kannst du es ja probieren...!
gruß Herbert
AW: warum...
09.05.2006 21:58:45
selo
hallo herbert habe es mit
Public

Sub x()
Dim i&, s As Byte, d As Byte, z&
Dim t As Byte, wt As Byte, wtZ As Byte
On Error GoTo errEnde
Application.ScreenUpdating = False
Dim l As Byte
For i = 2 To Cells(65536, 1).End(xlUp).Row
For s = 5 To 14
If Cells(i, 1) = Cells(13, s) Then
For d = 4 To 7
If Cells(d, 4) = Cells(i, 3) Then
For z = 14 To Cells(14, 6)
For t = 5 To 11
wt = Weekday(Cells(z, 4))
wtZ = Weekday(Cells(3, t))
If wt = wtZ And Cells(d, t) = 1 Then
Cells(z, s) = 1
End If
If wt = wtZ And Cells(d, t) = 0 Then
Cells(z, s) = 0
End If
Next
Next
End If
Next
End If
Next
Next
errEnde:
Application.ScreenUpdating = True
End Sub

versucht jedoch habe ich das problem bei For z = 14 To Cells(14, 6)
es nimmt den wertin der zelle nicht an der stelle
For s = 5 To 14
habe ich auch ein problem da ich nicht weiß wie ich es bei variablen anzahlen bei spalten machen muß
Anzeige
AW: warum...
10.05.2006 09:24:29
Herbert
For z = 14 To Cells(14, 6) muß funktionieren...
vielleicht hast du eine falsche Spalte angegeben...
die letzte Spalte einer Zeile ermittelt man so:
Dim ls As Byte
ls = Cells(13, Columns.Count).End(xlToLeft).Column
gruß Herbert
herbert ich danke dir
10.05.2006 10:32:01
selo
es funktioniert jetzt perfekt.
vielen vielen dank
gruß
selo
AW: herbert ich danke dir
10.05.2006 11:20:00
Herbert
da mußt du halt ein "Eckerl" von deinem Diplom runterschneiden
und mir senden... ;-)
gruß Herbert

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige