Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
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

Kalenderwoche im Jahreskalender graphisch anzeigen

Kalenderwoche im Jahreskalender graphisch anzeigen
26.10.2018 13:33:51
F.
Hallo zusammen,
habe eine Aufgabe für Euch:
Ich würde gerne in meinem Jahreskalender, dass die Kalenderwoche graphisch (Wordart)
und in der Mitte der Woche angezeigt wird.
Vielen Dank im voraus.
Viele Grüße
Frieder

28
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Wir machen keine Aufgaben für andere! (owT)
26.10.2018 13:41:55
EtoPHG

AW: Wir machen keine Aufgaben für andere! (owT)
26.10.2018 14:00:02
F.
Was soll denn der "Schmarrn"?
Diese "Kalenderwochenanzeige" ist für meinen privaten Kalender gedacht und für nichts anderes.
Ihr macht doch alle Anfragen bzw. Aufgaben für Andere, oder für wen sonst? Außerdem profitiert
ja auch das komplette Forum davon, wenn mal was außergewöhnliches "produziert" wird!!!
Viele Grüße
Frieder
AW: Wir machen keine Aufgaben für andere! (owT)
26.10.2018 14:30:59
SF
Hola,
https://www.computerwissen.de/office/excel/artikel/mit-excel-anhand-einer-kalenderwoche-den-montag-der-woche-ermitteln.html
Damit ermittelst du den Monta einer Kalenderwoche. Dazu addierst du 2 und hast den Mittwoch.
Wie du das anzeigen lassen möchtest hab ich nicht verstanden.
Gruß,
steve1da
Anzeige
AW: Wir machen keine Aufgaben für andere! (owT)
26.10.2018 14:53:55
F.
Hallo steve1da,
das mit der Berechnung der KW ist ja kein Problem, da gibt es ja genügend Beispiele darüber.
Aber ich würde mir gerne die KW in jeder Woche mittig (Mittwoch) graphisch als Wordart anzeigen lassen,
was sich aber vermutlich nur mit VBA realisieren lässt. Ich habe das schon einmal in einem Kalender
gesehen, finde aber den Kalender nimmer.
Viele Grüße
Frieder
zeig doch bitte mal (D)ein Beispiel ... owT
26.10.2018 14:48:15
Matthias
Ja wir bearbeiten Anfragen, wenn sie genügend
26.10.2018 15:45:57
EtoPHG
Informationen für eine sinnvolle Problemlösung enthalten, Frieder
Deine Anfrage ist zu vergleichen mit:
Ich habe eine Auto gebastelt.
Aufgabe an Euch: Bitte baut mir einen Turbolader ein!

Woher sollen wir bitte wissen, wie dein Kalender aussieht?
Lade eine Mappe mit dem Kalender hoch und man kann dir vielleicht Tipps geben.
Gruess Hansueli
Anzeige
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
26.10.2018 20:20:11
Matthias
Meinst Du sowas?
Userbild
Gruß Matthias
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
26.10.2018 20:47:47
F.
Hallo Matthias,
nein, das ist es auch nicht was ich suche bzw. meine. Es sieht zwar farblich sehr schön aus, aber ich
würde gerne - wie in der Vorlage - die Ziffer der KW im Kalender in der Wochenmitte als Wordart
stehen haben und das wird ohne VBA wohl nicht zu realisieren sein. (Höchstens man trägt die KW händisch
ein).
Viele Grüße
Frieder
Userbild
Anzeige
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
26.10.2018 22:19:51
Sepp
Hallo Frieder,
den Bereich musst du an deine Gegebenheiten anpassen!
Modul Modul1
Option Explicit 
 
Sub test() 
  Dim objShp As Shape, rng As Range 
 
  For Each objShp In ActiveSheet.Shapes 
    If objShp.Name Like "KW*" Then objShp.Delete 
  Next 
 
  For Each rng In Range("A1:L31") 
    If IsDate(rng) Then 
      If Weekday(rng, vbMonday) = 4 Then 
        Call createWordArt(rng, DINKwoche(rng)) 
      End If 
    End If 
  Next 
End Sub 
Sub createWordArt(Target As Range, Text As String) 
  Dim objWA As Shape 
 
  Set objWA = Target.Parent.Shapes.AddTextEffect(msoTextEffect36, Text, "KW_" & Text, 28, msoFalse, msoFalse, 0, 0) 
     
  With objWA 
    .Name = "KW_" & Text 
    With .TextFrame2 
      .MarginLeft = 0 
      .MarginRight = 0 
      .MarginTop = 0 
      .MarginBottom = 0 
      .AutoSize = msoAutoSizeShapeToFitText 
      .VerticalAnchor = msoAnchorMiddle 
      .HorizontalAnchor = msoAnchorCenter 
      With .TextRange.Font.Fill 
        .Visible = msoTrue 
        .ForeColor.RGB = RGB(155, 155, 155) 
        .Transparency = 0.5 
      End With 
    End With 
    .Left = Target.Left + Target.Width / 2 - .Width / 2 
    .Top = Target.Top + Target.Height / 2 - .Height / 2 
    .OnAction = "dummy" 
  End With 
   
  Set objWA = Nothing 
End Sub 
 
Private Sub dummy() 
End Sub 
 
Private Function DINKwoche(ByVal Datum As Date) As Long 
  Dim tmp As Date 
  tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1) 
  DINKwoche = (Fix(Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7) \ 7) + 1 
End Function 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
26.10.2018 23:29:26
F.
Hallo Sepp,
Danke Dir für Deine Hilfe. Leider funktioniert das nicht bei mir. Warum auch immer? Wenn ich das Makro ausführe, bringt er mir die Fehlermeldung "Fehler beim Kompilieren, Variable nicht definiert". ((msoTextEffect36,). Was muss ich denn in dem Code abändern, damit er bei mir läuft? Ich habe bisher nur den Range angepasst, weil so gut kenne ich mich mit VBA auch nicht aus. Es wäre schön, wenn Du mir da etwas behilflich sein könntest. Vielleicht den Code in einen x-beliebigen Kalender einbauen, damit ich das dann besser nach vollziehen könnte. (Hängt das mit Excel 16 zusammen, ich habe nur Excel 10)?
Vielen Dank schon mal im voraus.
Viele Grüße
Frieder
Anzeige
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
27.10.2018 04:13:36
Matthias
Hallo
Userbild
Ich habs mal mit msoTextEffect5 gemacht.
Hat alles funktioniert.
Im oberen Bildausschnitt habe ich WeekDay = 4(Do) benutzt, im unteren WeekDay = 3(Mi)
Kan schon sein das es an der Version liegt.
Dann nützt es Dir allerdings wenig, wenn man das in einen x-beliebigen Kalender einbaut.
Du solltest Deinen Kalender hier hochladen.(Privates einfach vorher löschen)
Dann kann man das dort einpflegen und Du kannst ihn Dir fertig wieder herunterladen.
Ein Danke von mir an Sepp für den tollen Code :-)
Gruß Matthias
Anzeige
AW: Kalenderwoche im Jahreskalender graphisch anzeigen
27.10.2018 07:43:50
Sepp
Hallo Frieder,
liegt sicher an der Version, wie Matthias schon gesagt hat - lade deine Datei hoch!
 ABCDEF
1Gruß Sepp
2
3

Anzeige
Beispiel
27.10.2018 18:12:33
Sepp
Hallo Frieder,
da du keine Beispieldatei postest, hier eine von mir, diese sollte auch auf deiner Version laufen.
https://www.herber.de/bbs/user/124947.xlsm
 ABCDEF
1Gruß Sepp
2
3

Anzeige
AW: Beispiel
28.10.2018 00:11:12
F.
Hallo Sepp,
Danke Dir zuerst für Deine Bemühungen. Bin auch gerade damit beschäftigt, Deine Beispieldatei (Code) in meinen Kalender einzubauen. Klappt natürlich nicht, weil die Spalten - bzw. Zeilen Anzahl nicht identisch ist, wie in Deinem Beispielkalender. Ich habe insgesamt 3 Zeilen pro Tag, Du hast nur 1 Zeile. Spalten habe ich 4 pro Tag. Natürlich wäre es am einfachsten, wenn ich meinen Kalender hochladen würde, aber ich weiß nicht, wie sich das mit den Rechten des Autors verhält. Ich möchte da keine Probleme verursachen! Der Kalender wird offiziell, aber von einer Excel Seite (Free Excel-Tools) zur freien Verfügung gestellt.
Vielen Dank schon mal im voraus.
Viele Grüße
Frieder
Anzeige
AW: Beispiel
28.10.2018 06:08:54
Sepp
Hallo Frieder,
OK, dann eben nicht.
 ABCDEF
1Gruß Sepp
2
3

zeig bitte mal den Link zur Website ...
28.10.2018 08:40:19
Matthias
Hi

Der Kalender wird offiziell, aber von einer Excel Seite (Free Excel-Tools) zur freien Verfügung gestellt.

Da wundert es mich um so mehr, das Du Dich so schwer tust.
Ich habe Free Excel-Tools als Website nicht gefunden.
Kannst mal bitte dorthin verlinken. Ich möchte mir den Kalender dort mal ansehen.
Gruß Matthias
AW: zeig bitte mal den Link zur Website ...
28.10.2018 09:44:41
F.
Hallo Matthias, Hallo Sepp,
das ist der Link
https://www.excel-inside.de/software/excel-tools/466-excel-jahreskalender
Ich habe mal ein Ausdruck angehängt, wo trotz Original Code, die KW zwei mal angezeigt wird und im Januar wird gar keine KW angezeigt.
Userbild
Vielen Dank schon mal im voraus.
Viele Grüße
Frieder
AW: zeig bitte mal den Link zur Website ...
28.10.2018 10:44:39
F.
Hallo Sepp,
Danke vorab schon mal für Deine Datei. Sieht sehr gut aus. werde später mal das auf meinen Kalender
übertragen. Melde mich dann wieder. Sind zur Zeit im Urlaub, deswegen auch manchmal die etwas verspätete
Reaktion.
Viele Grüße
Frieder
einfach den Code umstellen ...
28.10.2018 10:46:05
Matthias
Hallo
Nur diesen Code-Teil von Sepp aus seinem ersten Vorschlag umstellen:
Sub test()
Dim objShp As Shape, rng As Range
For Each objShp In ActiveSheet.Shapes
If objShp.Name Like "KW*" Then objShp.Delete
Next
For Each rng In Range("B3:B95,F2:F95,J2:J95,N2:N95,R2:R95") 'hier noch die Spalten  _
erweitern!
If IsDate(rng) Then
If Weekday(rng, vbMonday) = 3 Then
Call createWordArt(rng(2).Offset(, 2), DINKwoche(rng))
End If
End If
Next
End Sub
Gruß Matthias
AW: einfach den Code umstellen ...
29.10.2018 14:56:03
F.
Hallo Sepp, Matthias,
so weit so gut, ist alles im grünen Bereich, Dank Eurer Fleißarbeit. Was mir noch gefallen würde wäre, wenn die "KW Zahlen" 45° (Orientation = 45) angezeigt werden könnten. Ich war auch nicht untätig und habe im Internet recheriert. Habe aber nichts dergleichen gefunden. Geht das überhaupt zu machen? Mein Wahlspruch ist: "Geht nicht, gibts nicht"! Vielleicht gibt es hier doch auch gewisse Grenzen?
Was mir nicht ganz klar ist, dass im Code ("With objWA .Name = "KW_" & Text") z. B. mehrmals dieses "KW_" vor kommt. Aber im Kalender selber werden nur die KW Nummern, ohne das "KW_" abgebildet. Ist das so richtig?
Also, nochmals vielen Dank im voraus.
Viele Grüße
Frieder
ObjektName ...
29.10.2018 16:04:33
Matthias
Ja das ist richtig ...
KW_ ist der Linke Teil des Objektnamens gefolgt vom Index
Userbild
Das mit den 45° hab ich noch nicht erörtert.
Gruß Matthias
AW: ObjektName ...
29.10.2018 16:41:51
F.
Hallo Matthias,
das mit der Orientation funktioniert jetzt auch, nur das mit der ("KW_" & Text") Anzeige "funzt" nicht.
Ich meine hiermit, dass der "KW Nummer" der Text "KW" vorangestellt wird.
Danke im voraus.
Viele Grüße
Frieder
ist doch ganz einfach ... ;-)
29.10.2018 16:47:37
Matthias
Hi
 Call createWordArt(rng, "KW " & DINKwoche(rng))
Gruß Matthias
AW: ist doch ganz einfach ... ;-)
29.10.2018 20:50:01
F.
Hallo Matthias, Hallo Sepp,
alles funktioniert, bin gerade noch dabei verschiedene Einstellungen zu machen, Schriftgröße, Farbe, Transparenz etc. Die Feineinstellungen kann ich aber erst zu Hause machen, wo ich auch drucken kann.
Also, Euch Beiden gebührt ein besonderes Dankeschön für Euere Spontanität anderen zu helfen, die in Excel bzw. VBA nicht so bewandert sind. Sollte ich wieder mal Hilfe benötigen, weiß ich ja, an wen ich mich wenden kann.
Viele Grüße
Frieder
IncrementRotation 45
29.10.2018 16:18:36
Matthias
Hi
'...
With objWA
.Name = "KW_" & Text
.IncrementRotation 45

Einfach mal mit der Rotation etwas "spielen".
Gruß Matthias
AW: einfach den Code umstellen ...
29.10.2018 17:45:31
Sepp
Hallo Frieder,
hier der Code mit den entsprechenden Anpassungen.
Modul Modul1
Option Explicit 
 
Sub insertWeekNum() 
  Dim objShp As Shape, lngRow As Long, lngCol As Long 
  
  On Error GoTo ErrorHandler 
  Application.ScreenUpdating = False 
   
  With Sheets("Jahreskalender") 
    For Each objShp In .Shapes 
      If objShp.Name Like "KW*" Then objShp.Delete 
    Next 
  
    For lngCol = 1 To 45 Step 4 
      For lngRow = 3 To 94 
        If IsDate(.Cells(lngRow, lngCol)) Then 
          If Weekday(.Cells(lngRow, lngCol), vbMonday) = 4 Then 
            Call createWordArt(.Cells(lngRow + 1, lngCol + 3), Format(DINKwoche(.Cells(lngRow, lngCol)), """KW ""00")) 
          End If 
        End If 
      Next 
    Next 
  End With 
ErrorHandler: 
  Application.ScreenUpdating = True 
End Sub 
 
 
Private Sub createWordArt(Target As Range, Text As String) 
  Dim objWA As Shape 
  
  Set objWA = Target.Parent.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 16, 16) 
      
  With objWA 
    .Name = "KW_" & Text 
    .Rotation = 45 
    .Fill.Visible = msoFalse 
    .Line.Visible = msoFalse 
    With .TextFrame2 
      .TextRange.Characters.Text = Text 
      With .TextRange.Font 
        .Size = 42 
        .Line.Visible = msoFalse 
        With .Fill 
          .Solid 
          .Visible = msoTrue 
          .ForeColor.RGB = vbBlack 
          .Transparency = 0.8 
        End With 
      End With 
      .WordWrap = msoFalse 
      .MarginLeft = 0 
      .MarginRight = 0 
      .MarginTop = 0 
      .MarginBottom = 0 
      .VerticalAnchor = msoAnchorMiddle 
      .HorizontalAnchor = msoAnchorCenter 
      .AutoSize = msoAutoSizeShapeToFitText 
    End With 
    .Left = Target.Left + Target.Width / 2 - .Width + 25 
    .Top = Target.Top + Target.Height / 2 - .Height / 2 
    If Target.Row = 4 Then .Top = Target.Top 
    If Target.Row = 94 Then .Top = Target.Offset(-2, 0).Top 
    .OnAction = "dummy" 
  End With 
    
  Set objWA = Nothing 
End Sub 
  
Private Sub dummy() 
End Sub 
  
Private Function DINKwoche(ByVal Datum As Date) As Long 
  Dim tmp As Date 
  tmp = DateSerial(Year(Datum + (8 - Weekday(Datum)) Mod 7 - 3), 1, 1) 
  DINKwoche = (Fix(Datum - tmp - 3 + (Weekday(tmp) + 1) Mod 7) \ 7) + 1 
End Function 
 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige