Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1560to1564
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
Inhaltsverzeichnis

Code perfekt - aber bräuchte Erklärung

Code perfekt - aber bräuchte Erklärung
26.05.2017 17:06:15
Steve
Hi Profis.
Folgender Code - tut genau das was ich brauche.
Per Schleife - in der bezeichneten Range die Spalte -
1.)die Sa (blau) und So (rot) einfärben
2.)wenn x in der ersten Zeile dann als Feiertag (rot) einfäben
Verständnisfrage -
Die Funktionen Weekday und Left - genauer gesagt verstehe ich die Parameter nicht:
Code 1: Select Case Weekday(Spalte.Cells(11), 2)
'was ist (11)die Zeile wo er SA oder SO ausliest ist in Zeile 13?
.........,2 ' dürfte der Wochentag Montag sein
Select Case Left(Spalte.Cells(1), 36)
'was ist (1)..... hier stimmt das die x in Zeile 1 stehen
........,36 ? wieso steht hier - in dieser Funktion - plötzlich die letzte Spalte - das ist nämlich 36 der Range ?
'
Besten Dank für eure Antwort- die ich hoffentlich verstehe ;-)))
lg Steve

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

Betreff
Datum
Anwender
Anzeige
AW: Code perfekt - aber bräuchte Erklärung
26.05.2017 17:10:43
Hajo_Zi
36 ist nicht die Spalte sondern Anzahl der Stellen.

AW: Code perfekt - aber bräuchte Erklärung
26.05.2017 17:20:08
mmat
Hallo
Code 1: Ich vermute mal, "Spalte" ist ein Range (irgendwo muss es doch eine Zuweisung geben) und Cells(11) die 11. Zelle des Ranges, das hat nix mit Zeile oder Spalte zu tun. ",2" ist ein Parameter der Weekday-Funktion.
Code 2: Spalte.Cells(1) das erste Cells-Element von "Spalte"
",36" ein Parameter der Left-Funktion
Habe jetzt eine Beispieldatei hochgeladen
26.05.2017 17:32:09
Steve
Schon mal Danke für die schnellen Antworten von Hajo und mmat.
Hier die Datei:
https://www.herber.de/bbs/user/113809.xlsm
Code 1:
Genau "Spalte" ist die Range.
?....die elfte Zelle des Range?
Code 2:
das heißt Left von 36 Stellen obwohl ich da nur eine STelle suche - nämlich ein großes oder kleines x - was anderes steht da nicht drinnen.
Danke dass ihr euch die Datei mal anschaut.
lg Steve
Anzeige
AW:Erklaerung
27.05.2017 07:55:32
hary
Moin
Zu Code1:
Mit
In Sheets("Tabelle1").Range(Cells(4, 4), Cells(x, 36)).Columns

faengt deine Range erst bei Zeile 4 an. Also wird Zeile 14 ausgelesen. Die 4. Zeile ist incl.
also 4+11=14. Die Spalte.Cells(11)im Bereich ist in Zeile 14.
Code2 wird nicht ausgefuehrt,muesste so lauten:
 Select Case Spalte.Cells(1)
bei

Weekday(Spalte.Cells(11), 2)
meint es mit der 2,das die Woche mit Montag anfaengt.
dann ergibt Mo = 1, Di = 2 usw.
ergo ist Case 6 der Samstag und 7 der Sonntag.
Vlt. ist dies hier fuer dich besser nachvollziehbar.
Sub einfaerben()
Dim Zelle As Range
Dim x As Long
Application.ScreenUpdating = False '--Bildschirm aktuellisierung aus(kein Bildschirmflackern)
With Worksheets("Tabelle1")
x = .Cells(Rows.Count, 1).End(xlUp).Row
For Each Zelle In .Cells(14, 4).Resize(1, 33)
Select Case Weekday(Zelle, 2)
Case 6: .Cells(4, Zelle.Column).Resize(x - 4, 1).Interior.Color = RGB(204, 255, 255) '  _
Farbe des Samstages
Case 7:  .Cells(4, Zelle.Column).Resize(x - 4, 1).Interior.Color = RGB(255, 204, 153)  ' _
Farbe des Sonntages
End Select
Next
For Each Zelle In .Cells(1, 4).Resize(1, 33)
Select Case UCase(Zelle) 'UCase wandelt den Wert in Grossbuchstaben um
Case "X": .Cells(4, Zelle.Column).Resize(x - 4, 1).Interior.Color = RGB(255, 204, 153)
End Select
Next
End With
End Sub

Warum nutz du nicht die bedingte Formatierung?
gruss hary
Anzeige
DANKE an hary
28.05.2017 07:11:55
Steve
Guten Morgen auch ..............und großes Danke für deine Mühen, den umgeschriebenen Code und Erklärungen.
Jetzt habe ich es verstanden - und es auch noch einiges Neues für mich drinnen.
Werde versuchen mich einzulernen/lesen.
Der Code macht genau die Formatierung die ich brauche - bedingte Formatierung kenne ich natürlich nur als Benutzer in Excel.
Danke und noch schönes WE
LG Steve

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige