Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Rahmen setzen | Herbers Excel-Forum


Betrifft: Rahmen setzen von: Heinz H
Geschrieben am: 15.01.2010 12:35:40

Hallo Leute ( Heute die 3.te)

Im unteren Makro werden Zellen eingefärbt, Summen zusammengezählt und ein Rahmen bei den eingefärbten Zellen fett gesetzt.

Bis auf den letzten Rahmen bei der eingefärbten Zellen funktioniert alles.

Also zB.: Unter dem 31.01.2010 werden die Zellen wie gewünscht gefärbt,ABER der Rahmen nicht mehr gesetzt.

Habe schon getestet & den Code ca.30 mal durchgelesen komme ABER nicht auf den Fehler.

Könnte bitte jemand helfen ?

Gruß
Heinz

For lDay = datStart To datEnd
Select Case Weekday(lDay, 2)
  Case Is < 6
    Cells(iRow, 1) = lDay
    Cells(iRow, 2) = lDay
    iRow = iRow + 1
  Case Is = 6
    With Range(Cells(iRow, 1), Cells(iRow, 15))
      .Interior.ColorIndex = 37
      .Font.Bold = True
      .Borders(xlDiagonalDown).LineStyle = xlNone
      .Borders(xlDiagonalUp).LineStyle = xlNone
      .Borders(xlEdgeLeft).LineStyle = xlNone
      With .Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
      End With
      With .Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
      End With
      With .Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .Weight = xlMedium
        .ColorIndex = xlAutomatic
      End With
    End With
For lngCol = 7 To 11
  Cells(iRow, lngCol).Formula = _
    "=Sum(" & Range(Cells(lngStart, lngCol), Cells(iRow - 1, lngCol)).Address & ")"
Next
iRow = iRow + 1
lngStart = iRow
End Select

Next

Range(Cells(iRow, 1), Cells(iRow, 15)).Interior.ColorIndex = 37
Range(Cells(iRow, 1), Cells(iRow, 15)).Font.Bold = True


For lngCol = 7 To 11
  Cells(iRow, lngCol).Formula = "=Sum(" & Range(Cells(lngStart, lngCol), _
      Cells(iRow - 1, lngCol)).Address & ")"
Next
  
   Dim sp#, Such$, LR%, TB1, i#, m%, Z1%

Dim M1%


Fehler:
    If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & _
        Err.Description

Application.EnableEvents = True


End Sub

  

Betrifft: 31.1.2010 ist Sonntag von: Rudi Maintaire
Geschrieben am: 15.01.2010 12:41:59

Hallo,
und somit Weekday=7
du berücksichtigst nur 1-6

Gruß
Rudi


  

Betrifft: AW: 31.1.2010 ist Sonntag von: Heinz H
Geschrieben am: 15.01.2010 12:45:35

Hallo Rudi

Das ware ein blödes Beispiel.

Neues Beispiel: 31.01.2008 war ein Donnerstag.

Die Zellen werden ja eingefärbt,aber eben der Rahmen nicht mehr gesetzt.

Gruß
Heinz


  

Betrifft: AW: 31.1.2010 ist Sonntag von: Heinz H
Geschrieben am: 15.01.2010 13:00:05

Habe mal ein Beispiel hochgeladen

Heinz


01.02.2008

 ABCDEFGHIJKLMNO
2422.02.2008Fr    5,50        
25      32,50        
2625.02.2008Mo    7,50        
2726.02.2008Di    7,50        
2827.02.2008Mi    4,00        
2928.02.2008Do    8,00        
3029.02.2008Fr    5,50        
31      32,50        
32               


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


  

Betrifft: AW: 31.1.2010 ist Sonntag von: Rudi Maintaire
Geschrieben am: 15.01.2010 13:10:55

Hallo,
ist ja kein Wunder
Hier färbst du unter der letzten Zeile ein und baust die Formeln ein:

End Select

Next

Range(Cells(irow, 1), Cells(irow, 15)).Interior.ColorIndex = 37
Range(Cells(irow, 1), Cells(irow, 15)).Font.Bold = True


For lngCol = 7 To 11
  Cells(irow, lngCol).Formula = "=Sum(" & Range(Cells(lngstart, lngCol), _
      Cells(irow - 1, lngCol)).Address & ")"
Next

Von Rahmen steht da nix.
Ergo:
Next

With Range(Cells(irow, 1), Cells(irow, 15))
  .Interior.ColorIndex = 37
  .Font.Bold = True
  .Borders(xlDiagonalDown).LineStyle = xlNone
  .Borders(xlDiagonalUp).LineStyle = xlNone
  .Borders(xlEdgeLeft).LineStyle = xlNone
  With .Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .Weight = xlMedium
    .ColorIndex = xlAutomatic
  End With
  With .Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .Weight = xlMedium
    .ColorIndex = xlAutomatic
  End With
  With .Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .Weight = xlMedium
    .ColorIndex = xlAutomatic
  End With
End With


For lngCol = 7 To 11
  Cells(irow, lngCol).Formula = "=Sum(" & Range(Cells(lngstart, lngCol), _
      Cells(irow - 1, lngCol)).Address & ")"
Next

Gruß
Rudi


  

Betrifft: AW: 31.1.2010 ist Sonntag von: Heinz H
Geschrieben am: 15.01.2010 13:16:09

Hallo Rudi

Du bist einer der Größten !!

Recht herzlichen DANK !!

Gruß
Heinz


Beiträge aus den Excel-Beispielen zum Thema "Rahmen setzen"