Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
788to792
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
788to792
788to792
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zellen über Abfrage fortlaufend füllen
05.08.2006 15:02:08
Reinhard
Hallo hab folgendes Problem:
Ich möchte für eine gewisse Anzahl von Arbeitsgruppen deren Gesamtarbeitszeit berechnen. Die Anzahl der Arbeitsgruppen variert aber ständig. Ich möchte deshalb über eine Abfrage: Anzahl der Tische? bei Eingabe von 4 erreichen, dass 4 Zellen untereinander mit Text-Inhalten gefüllt werden. Gleichzeitig sollen neben diesen Zellen jeweils 2 Zellen mit der Eingabemöglichkeit der Arbeitszeiten erscheinen (von, bis)und in der Zelle daneben die Stundenanzahl berechnet werden.
Ergebnis sollte sein: (Zeiten werden eingegeben / h-Anzahl wird berechnet)... Die Formel zur Berechnung der h über 24.00 Uhr ist kein Problem...
---------von----bis-----h
AR01 15:00 03:00 12:00
AR02 16:00 02:00 10:00
AR03 20:00 00:00 04:00
AR04 19:00 00:30 05:30
Ich danke im Voraus für eure Hilfe!
Reinhard

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen über Abfrage fortlaufend füllen
05.08.2006 19:14:16
ingUR
Hallo, Reinhard,
als Prozedur (Makro) NeuesRechenblatt könnte folgendes eingesetzt werden. Das Programm wirkt auf das aktive Tabellenblatt und löscht die Einträge vor dem Neueintrag.

Sub NeuesRechenblatt()
Dim maxAG as integer, i as Integer
Dim newLine as String, msg as String
maxAG = InputBox("Anzahl der Gruppen")
newLine = Chr(10) & Chr(13)
msg = "Es werden " & maxAG & " Gruppen eingerichtet" & newLine
msg = msg & "Alte Daten werden auf dem ajtiven Blatt gelöscht" & newLine
result = MsgBox(msg, vbYesNo + vbCritical, "Sicherheitsabfrage")
If result = vbYes Then
Cells.Clear
Cells.HorizontalAlignment = xlCenter
Cells(1, 1) = "Gruppe"
Cells(1, 2) = "von"
Cells(1, 3) = "bis"
Cells(1, 4) = "Std"
For i = 1 To maxAG
strNr = Mid(Str(i), 2)
If i < 10 Then strNr = "0" + strNr
Cells(i + 1, 1) = "AR" & strNr
Cells(i + 1, 4).FormulaR1C1 = "=(RC[-1]-RC[-2])*24+IF(RC[-1]<RC[-2],24,0)"
Next i
End If
Range("B2").Select
End Sub

Denkbar währe jedoch auch eine lösung, bei der mehrere Tabellen nacheinander oder nebeneinander auf einem Tabellenblat angelegt werden.
Gruß,
Uwe
Anzeige
AW: Zellen über Abfrage fortlaufend füllen
05.08.2006 19:25:56
ingUR
Hallo, Reinhard,
Ergänzung zur Zellenformatierung:
Columns("B:C").NumberFormat = "hh:mm"
Gruß!
AW: Zellen über Abfrage fortlaufend füllen
07.08.2006 08:30:43
Reinhard
Vielen Dank für Deine Antwort!
Die Lösung mit mehreren Tabellen nebeneinander wäre das Optimum, dann könnte ich die jeweiligen Wochentage erfassen.
Ich wär Dir sehr dankbar, wenn Du das auch noch einfügen würdest!
LG Reinhard
AW: Zellen über Abfrage fortlaufend füllen
07.08.2006 16:02:40
ingUR
Hallo, Reinhard,
hier habe ich die Ergänzungen vorgenommen, die das Nebeneinanderschreiben der Teiltabellen vorsieht (die maximal Anzahl 225/5 = 45 wird nicht überwacht).
Nicht mehr sinnvolle Zeilen wurden für ide Codeausführung ausmarkiert.

Sub NeuesRechenblattA)
Dim maxAG As Integer, i As Integer
Dim newLine As String, msg As String
maxAG = InputBox("Anzahl der Gruppen")
newLine = Chr(10) & Chr(13)
'    msg = "Es werden " & maxAG & " Gruppen eingerichtet" & newLine
'    msg = msg & "Alte Daten werden auf dem ajtiven Blatt gelöscht" & newLine
'    result = MsgBox(msg, vbYesNo + vbCritical, "Sicherheitsabfrage")
nextC = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
If nextC = 1 Then nextC = 0 Else nextC = nextC + 1
If result = vbYes Then
'Cells.Clear
Cells.HorizontalAlignment = xlCenter
Cells(1, nextC + 1) = "Gruppe"
Cells(1, nextC + 2) = "von"
Cells(1, nextC + 3) = "bis"
Cells(1, nextC + 4) = "Std"
Range(Columns(nextC + 2), Columns(nextC + 3)).NumberFormat = "hh:mm"
Columns(nextC + 4).NumberFormat = "0.00"
For i = 1 To maxAG
strNr = Mid(Str(i), 2)
If i < 10 Then strNr = "0" + strNr
Cells(i + 1, nextC + 1) = "AR" & strNr
Cells(i + 1, nextC + 4).FormulaR1C1 = "=(RC[-1]-RC[-2])*24+IF(RC[-1]<RC[-2],24,0)"
Next i
End If
Cells(2, nextC + 2).Select
End Sub

Ich hoffe es hilft bei der weiteren Bearbeitung.
Gruß,
Uwe
Anzeige
AW: Zellen über Abfrage fortlaufend füllen
07.08.2006 16:03:27
ingUR
Hallo, Reinhard,
hier habe ich die Ergänzungen vorgenommen, die das Nebeneinanderschreiben der Teiltabellen vorsieht (die maximal Anzahl 225/5 = 45 wird nicht überwacht).
Nicht mehr sinnvolle Zeilen wurden für ide Codeausführung ausmarkiert.

Sub NeuesRechenblattA)
Dim maxAG As Integer, i As Integer
Dim newLine As String, msg As String
maxAG = InputBox("Anzahl der Gruppen")
'    newLine = Chr(10) & Chr(13)
'    msg = "Es werden " & maxAG & " Gruppen eingerichtet" & newLine
'    msg = msg & "Alte Daten werden auf dem ajtiven Blatt gelöscht" & newLine
'    result = MsgBox(msg, vbYesNo + vbCritical, "Sicherheitsabfrage")
nextC = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column
If nextC = 1 Then nextC = 0 Else nextC = nextC + 1
If result = vbYes Then
'Cells.Clear
Cells.HorizontalAlignment = xlCenter
Cells(1, nextC + 1) = "Gruppe"
Cells(1, nextC + 2) = "von"
Cells(1, nextC + 3) = "bis"
Cells(1, nextC + 4) = "Std"
Range(Columns(nextC + 2), Columns(nextC + 3)).NumberFormat = "hh:mm"
Columns(nextC + 4).NumberFormat = "0.00"
For i = 1 To maxAG
strNr = Mid(Str(i), 2)
If i < 10 Then strNr = "0" + strNr
Cells(i + 1, nextC + 1) = "AR" & strNr
Cells(i + 1, nextC + 4).FormulaR1C1 = "=(RC[-1]-RC[-2])*24+IF(RC[-1]<RC[-2],24,0)"
Next i
End If
Cells(2, nextC + 2).Select
End Sub

Ich hoffe es hilft bei der weiteren Bearbeitung.
Gruß,
Uwe
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige