Microsoft Excel

Herbers Excel/VBA-Archiv

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

Kommentar in erste zelle einess Bereiches

Betrifft: Kommentar in erste zelle einess Bereiches von: Herbert
Geschrieben am: 02.08.2008 16:07:51

Hallo Forum

Ich habe eine Userform mit "Calendar", um Zeiträume in eine Tabelle zu übernehmen.
Jetzt versuche ich, in die 1.Zelle des Zeitraums einen Kommentar einzufügen.
Innerhalb der Schleife geht es, aber dann in jeder Zelle. wie kann ich die erste Zelle
ansprechen?
Hat jemand eine Idee?

Private Sub EintrBtn_Click()
Dim anfD As Date, endD As Date, c As Range, iRow As Integer
If anfD = 0 Then
MsgBox "Fehler, kein Anfangsdatum gewählt", , "Fehler"
End
End If
   If IsEmpty(Cells(1, 1)) Then
      iRow = 1
   Else
      iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
   End If
        If endD = 0 Then
         endD = anfD
        End If
   Cells(iRow, 1) = anfD
   Cells(iRow, 2) = endD
   For Each c In Range("C2:N32")
        If c >= anfD And c <= endD Then
            c.Interior.ColorIndex = 44
            c.AddComment ("Urlaub") ' Comment in jeder Zelle
        End If
   Next c
   Unload Me
End Sub



Gruß Herbert

  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: OttoH
Geschrieben am: 02.08.2008 16:48:35

Hallo Herbert,

statt for each ... nex t c setze folgende Zeile ein:

Range("C2").AddComment ("Urlaub")


Gruß OttoH


  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: Herbert
Geschrieben am: 02.08.2008 17:01:36

Hallo Otto

Nein, das meine ich nicht. Der Bereich C2:N32 ist mein Kalender, in dem das Makro einen Bereich einfärbt.
Beispiel: Es wird ein Datumsbereich 06.08.08 - 08.08.08 gewählt, dann wird der Bereich C2:N32 durchlaufen (For each) und diese drei Tage gefärbt. Ich möchte jetzt, daß der 06.08.08 mit einem Kommentar versehen wird und nicht wie in meinem Code alle drei Zellen.

Gruß Herbert


  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: Erich G.
Geschrieben am: 02.08.2008 19:19:13

Hallo Herbert,
probier mal

Private Sub EintrBtn_Click()
   Dim anfD As Date, endD As Date, c As Range, iRow As Long ' statt Integer

   If anfD = 0 Then
      MsgBox "Fehler, kein Anfangsdatum gewählt", , "Fehler"
      End
   End If
   If IsEmpty(Cells(1, 1)) Then
      iRow = 1
   Else
      iRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
   End If
   If endD = 0 Then endD = anfD
   
   Cells(iRow, 1) = anfD
   Cells(iRow, 2) = endD
   For Each c In Range("C2:N32")
      If c >= anfD And c <= endD Then
         c.Interior.ColorIndex = 44
         If c = anfD Then c.AddComment ("Urlaub") ' Comment in 1. Zeile
         If c > endD Then Exit For              ' klappt eventuell
      End If
   Next c
   Unload Me
End Sub

Zur Zeile mit dem "klappt eventuell":
Das klappt, wenn dein Kalender in der richtigen Reihenfolge durchlaufen wird.
Wenn's nicht klappt, lass die Zeile einfach weg.

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: Herbert
Geschrieben am: 02.08.2008 19:47:03

Hallo Erich

Vielen Dank - klappt ! ! !

Die Zeile mit dem "klappt eventuell" habe ich gleich weggelassen, es reicht die erste Zeile

Nochmals Danke

Gruß aus München

Herbert


  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: Erich G.
Geschrieben am: 02.08.2008 20:05:57

Hi Herbert,
diese "vielleicht"-Zeile sollte dazu diesen, den Programmablauf zu beschleunigen.
Wenn endD erreicht ist, muss ja vielleicht nicht weitergeorgelt werden bis zu N32.

Du könntest es vielleicht doch mal ausprobieren...

Grüße von Erich aus Kamp-Lintfort


  

Betrifft: AW: Kommentar in erste zelle einess Bereiches von: Herbert
Geschrieben am: 03.08.2008 16:06:55

Hallo Erich

Habe die Zeile eingefügt - funktioniert

Danke
Gruß Herbert


 

Beiträge aus den Excel-Beispielen zum Thema "Kommentar in erste zelle einess Bereiches"