Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: fajo am Dezember 18, 2014, 22:02:09 Nachmittag
-
Hallo Leute
Ich hoffe ihr könnt mir helfen. Ich habe 2003 Version und bekomme einige sachen nicht so hin wie ich es will.
In meiner Firma mus ßch die Formulare der Dienstpläne machen und da hoffe ich das ihr mir mit euren Wissen helfen könnt. von Januar bis Dezember
Es geht darum:
inder spalte c3: c33 wir die Arbeitszeit eingetragen; hin und wierder steht das auch krank, frei oder Urlaub;
din der spalte e3:e33 sehten dann die Stunden Z.B.: 7,5; 8; 9 und so weiter.
ich bekomme zusammen die einzelnen Sachen mit =Zählewenn zu zählen. Mein Problem ist nun wenn
c3:c7 Krank e3:e7 z.B. 8 Stunden sind und dann in C25:c30 weder Krank steht wie kann ich mit einem Makro in der zelle z.b. e45 sagen das diese Person 80 Stunden krank war.
Wie kann ich weiters noch machen wenn in A3:A33 irgendwo SA oder So steht dann soll der Makro die Wochenenden mit der Farbe z.B. 20 als hintergrund nehmen. Die Tabelle hat aber unterschiedlieche spaltenanzahl
Weiers brauche ich eine Strich unr jeden Sonntag; Der sonntag sollte aber nur einen Strich beommen wenn 2 Zlen Weiter ein Freitag ist. Es hat keinen Sinn wenn bei einen Sonntg gleich in A3 ist denn dieser Sonntag wird mit der nächsten woche abgerechnet. in einer Spalte P hte ich die Zahlen Der Wochen wobei der Sonntag mit 1 Montag mit 2 usw.
Ferner habe ich noch: dieses Programm: funktioniert super nur eine kleine Abänderung bekomme ich nciht hin
Der Tabellen name sollte als link funktionieren. Wenn ich darauf kliche soll ich zur Tabelle kommen
Sub TabellenDokomentieren()
Dim Blatt As Worksheet
Dim Zeile As Integer
Zeile = 1
' löscht die Spalten a und b
Range("A:A,B:B").Select
Selection.ClearContents
Range("A1").Select
For Each Blatt In ThisWorkbook.Worksheets
Tabelle4.Cells(Zeile + 14, 2).Value = Blatt.CodeName ' Gibt den Tabellen Namen an
Tabelle4.Cells(Zeile + 14, 1).Value = Blatt.Name ' 1 gibt die Spalte an
Zeile = Zeile + 1
Next Blatt
End Sub
und noch was:
wenn ich mir den Febrar 2015 aehe der hat ja nur 28 Tage. Meine Berechnungen gehen aber Automatisch bis 31 Tage. Folglich ist am 29 bis 31 ein Falscher Wert. Wie kann ich diese Zeilen aus allen monaten herausnehmen einfach löschen.
Dieses Programm hängt sich immer auf aufgrund des obigen fehlers
Sub Diferenzberechnung()
'
' in schleife alle Tageszeilen durchlaufen
Zeile = 3
next_zeile:
Zeile = Zeile + 1
' bereich durch ?
If Zeile > 40 Then GoTo end_zeile
'End If
'
' zeilen-nr als string
zeilex = CStr(Zeile)
'
' hereinholen Wochentag-Nr. aus Sp-P
Set wert = Range("P" + zeilex)
'
' abfrage auf SO
If wert <> 1 Then GoTo next_zeile
'End If
'
' formel eintragen in Sp-G
Range("G" + zeilex).Select
ActiveCell.FormulaR1C1 = "=R[-1]C-R[-2]C"
' fertig, nächste zeile
GoTo next_zeile
end_zeile:
' ganze Tagestab ist durch
'
End Sub
Einstweilen eine letzte Frage.
wie kann ich Range("G36").FormulaLocal = ("=Summe(D3:E34)")
dies so schreiben das ich die =Zählwenn formel anwenden kann
Bitte Danke.
www.vkaufee.de (http://www.vkaufee.de)
-
Hallo fajo,
zu Deinem Problem mit dem Link hier mal zwei Programmschnipsel, die ich früher mal in einer Routine verwendet habe.Würde ich heute eventuell leicht anders programmieren, aber die Programmierung lebt manchmal auch vom Kopieren von Bewährtem. Natürlich muß das noch an Deine Problematik angepaßt werden:
For I = 1 To 30
If strTabelle(2, I) = "" Then Exit For
Sheets.Add after:=Sheets(I)
Sheets(I + 1).Name = strTabelle(2, I)
ActiveSheet.Cells(1, 1).ColumnWidth = 50
ActiveSheet.Cells(1, 1).Value = "zurück zur Übersicht"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"Übersicht!A1", TextToDisplay:="zurück zur Übersicht"
...
Die Routine macht folgendes: Hinter dem höchsten Tabellenblatt wird eingefügt. Dann erhält die Tabelle einen neuen Name. In meinem Fall ist der variabel und kommt daher aus einem Stringarray. Danach wird die Spalte A (1) etwes breiter gemacht und in Zelle A1 (1,1) der Wert "zurück zur Übersicht" geschrieben. Zuletzt wird dieser Text dann noch mit dem Hyperlink auf die erste Tabelle belegt. Die For-Schleife gibt es nur weil ich bis zu 30 Tabellenblätter (sind aber meist weniger) haben kann.
Es folgen dann noch das Füllen und Formatieren diverser Zellen und zum Schluss das Füllen der Übersichtsseite:
...
Sheets("Übersicht").Select
strZelle = "A" & Right(Str(1 + I * 2 + 1000), 3)
ActiveSheet.Range(strZelle).Select
ActiveSheet.Cells(1 + I * 2, 1).Value = strTabelle(2, I) & " (" & strTabelle(1, I) & ")"
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'" & strTabelle(2, I) & "'!A1", TextToDisplay:=strTabelle(2, I) & " (" & strTabelle(1, I) & ")"
...
Die Programmierung ist recht ähnlich we oben.
Es wird auf die Übersichtsseite verzweigt. Mit einer leicht anderen Logig (würde ich heute eher wie oben machen) auf eine neue Zeile gegangen und dort der Name der eben verwendeten Zelle eingefügt. Danach erfolgt der Hyperlink auf die Zelle A1 des oben eingefügten Tabellenblattes.
Hoffe das Beispiel konnte helfen. Für die andern Probleme wäre es gut hier im Forum mal eine Beispieldatei anzuhängen.
LG
hp
-
.. wie kann ich mit einem Makro in der zelle z.b. e45 sagen das diese Person 80 Stunden krank war.
Dieses Statement/Frage halte ich juristisch und moralisch für äußerst fragwürdig. Darum kommt darauf von mir keine direkte Antwort.
In meinen Muster-Tabellen für Arbeitszeitabrechnungen trage ich für die Tage der "legitimen" Nichtanwesenheit die Stunden als geleistet ein, womit eine "saubere" Abrechnung erfolgen kann ohne jemand mit "80 Stunden Krankheit" zu diskriminieren.
-
Hallo
Mir geht es nur darum in der alte c3:c35 steht die Arbeitszeit z.b.: 7:00 - 16:00 und in D3 wird dann die Zeit 8,5 Eingetragen. Nun wenn eben diese Person Krank ist so soll die Zeit einfach aufsumiert werden und in C steht dann eben krank. Krank kann ich Zählen aber wie kann ich automaisch die Zeit aufsumieren. Die endZeit steht dann in einer Anderen spalteile
Wie kann ich denn ein solche Tabelle mal als pdf hinterlegen
LG fajo
-
OK fajo,
das hört sich doch schon sehr ähnlich an wie ich es mache. In meinem Blog sind verschiedene Mustertabellen zum Thema Arbeitszeit, schau mal hier (http://www.excel-ist-se_xy.de/downloads/dl-ohne-vba/datum-und-zeit/) nach und dann lade dir die Datei (Link) Monat-Minuszeiten herunter. Der Aufbau ist gewiss anders, aber die Idee kannst du ja adaptieren ...
Anmerkung: Die Automatik-Zensur dieses Forumprogramms verhindert, dass ich den korrekten Link zu meiner Seite eintragen kann. Entferne bitte den Unterstrich in se_xy, dann kommst du an die Daten.
@ Admin: Ich werde wohl keine Links mehr hier einfügen. Diese Form der US-Zensur ist mir einfach zuwider. Ich fühle mich in meiner Freiheit beschränkt. Schade ...
-
Ich wünsche euch allen ein schönes Fest. Der link soll eine genauere beschreibung meines Problem sein.
https://www.dropbox.com/sh/f6tto4t0hdhwjnl/AAAj6qxT4ABYIDJUe1-ZsjMJa?dl=0 (https://www.dropbox.com/sh/f6tto4t0hdhwjnl/AAAj6qxT4ABYIDJUe1-ZsjMJa?dl=0)
Danke für jede Hilfe.
www.verkaufee.de (http://www.verkaufee.de)