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

SOS bei Code Änderung

SOS bei Code Änderung
19.07.2007 08:09:36
ZekA
Hallo, hab ein problem und komm nicht weiter.
In Zelle C3 steht 06-07, D3 07-08 usw bis Zelle Z3 da steht 05-06
In Zelle C5 bis Z5 ist es so formatiert dass wenn ich Zellen markiere z.B. C5 - E5 und mit der rechten maustaste klicke, dann werden die Zellen in Farbe markiert und in der Zelle steht dann die Uhrzeit drin, in dem Fall 06:00-09:00.
Wie kann ich die Formatierung ändern dass C5 vier unter Spalten hat und die andern Zellen auch.
So dass wenn ich dann die dritte unterspalte von C5 - E5 markiere, rechts klicke, dass dann 06:45 - 09:00 steht.
Und wenn ich die zweite unterspalte markiere es dann 06:30 - 09:00 steht.
Und wie muss ich dass ganze im Code ändern bzw. erweitern damit dass funktioniert?
Der Code ist:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim rC As Range
Dim lCnt As Long
Dim lx As Long
Dim lxF As Long
If Target.Column  26 Or Target.Row  0 And lCnt > 0 Then
ActiveSheet.Cells(Target.Row, lxF).Value = Format(lCnt, "0") & " Stunden"
ActiveSheet.Cells(Target.Row, lxF).Font.ColorIndex = ActiveSheet.Cells(Target.Row, 1).Font. _
ColorIndex
ActiveSheet.Cells(Target.Row, 27) = ActiveSheet.Cells(Target.Row, 27) + lCnt
End If
lCnt = 0
Else
If lCnt = 0 Then lxF = lx
lCnt = lCnt + 1
End If
Next lx
Cancel = True
End Sub


Vielen Dank für die Komplexe Hilfe!!!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
geschlossen wege Ungeduld
19.07.2007 09:54:07
Renee

? Code Änderung
19.07.2007 09:58:54
ZekA
Wieso wegen Ungeduld?
Ist es so schwer mitzuteilen wie man dass ändern kann, ich komm einfach nicht auf die Lösung, hab schon alles probiert und Zahlen, Spaltennr. etc geändert.
Wo ist der Haken?

AW: ? Code Änderung
19.07.2007 10:06:00
Renee
Hi ZekA,
Weil Du dauernd neue Threads aufmachst.
Das ist nicht sehr hilfreich.
Zudem: Ist es so schwer mitzuteilen wie man dass ändern kann... Wenn Du was lernen willst, vergleich mal den alten und neuen Code. Es war wirklich nicht so einfach, das einzubauen.
Greetz Renee
P.S. Für alle Un- bzw. Neubeteiligten siehe:
von hier: https://www.herber.de/forum/archiv/884to888/t886926.htm#886926
über hier: https://www.herber.de/forum/archiv/884to888/t886974.htm#886974
nach hier: https://www.herber.de/forum/messages/888262.html

Anzeige
AW: ? Code Änderung
19.07.2007 10:12:00
ZekA
Bei dem alten Code stand "Stunden"
und bei dem neuen "hh:mm"
Auch wenn ich spalten einfüge und die Zahlen im Code dementsprechend änder also verlänger, macht der Code nicht dass was ich will. Und er rechnet nicht im 15 minuten Takt.

aba auch erst seit paar min.
19.07.2007 10:28:48
ZekA
Hab ich schon gefunden,
brauchst ja nicht gleich so angreifend sein. sry

Anzeige
Ende.
19.07.2007 10:27:00
ZekA
Wie gesagt ich möchte ja auch begreifen wie man das ändert und nicht nur ändern.
hier:
(Int((lxF + 1) / 4) * 4 - 1)), 2)) / 24 + ((((lxF + 1) Mod 4) * 15) / (24 * 60)), "hh:mm")
Wenn ich so einen Code nicht versteh, wie kann ich den dann selber einfügen bzw. bearbeiten?E

AW: Ende.
19.07.2007 11:10:48
Renee
Hi Zeka,
Beispiel: Es werden die Zellen M5:W5 markiert = 8:30-11:15
lxF : Spaltennummer, bei der eine farbige Markierung anfängt (08:30 = 13)
Int((lxF + 1) / 4) * 4 - 1 : Korrigiert die Spaltennummer auf den Anfang der Überschrift (08-09 = 11)
)),2)) : 2 ist die Länge in der von Links von der Überschrift abgeschnitten wird das ergibt String 08, das dann per Funktion Val in die Zahl 8 gewandelt wird.
/24 : ergibt 8:00 im internen Excel Zeitformat (0,33...)
(lxF + 1) Mod 4) * 15): ergibt die Position der 15 Minuten (also 2) * 15 Minuten = 30
/ (24 * 60) : wandelt die 30 in Excel-Minuten um also (0.0208333)
Zusammengezählt wird der Wert 0,354166... , das wird als Uhrzeit hh:mm formatiert
Prüfe:
Wenn Du in eine Zelle 0,354166 schreibst und die Zelle als Uhrzeit formatierst (hh:mm) dann ergibt sich, voilà 8:30
In der nächsten Zeile wird das gleich Spiel gemacht, nur wird zu Zahl 13 (lxF) noch die Anzahl markierter Zellen dazugezählt (11), was dann die Endzeit ergibt.
Alles klar ?
Gruss Renee

Anzeige
Ich danke dir!
19.07.2007 11:23:36
ZekA
Danke für die tolle Erklärung bzw. Definition der Formel.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige