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

Geb. im Kommentar anzeigen

Geb. im Kommentar anzeigen
18.12.2008 13:10:35
Peter
Hallo Leute
ich hab da wieder ein Problem. Ich hab jetztmal mehrere Geb. in die Liste eingetragen und ab dem Monat März bekomme ich eine Fehlermeldung und ich komme nicht dahinter was ich falsch gemacht haben soll oder was nicht stimmt. Bitte um hilfe !!!
Gruß Peter
https://www.herber.de/bbs/user/57707.xls

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Fehler am 29.Feb, nicht im März ! (owT)
18.12.2008 13:31:52
RS

AW: Fehler am 29.Feb, nicht im März ! (owT)
18.12.2008 14:00:00
Peter
Hi
und wie kann ich das Problem lösen?
Gruß Peter
AW: Fehler am 29.Feb, nicht im März ! (owT)
18.12.2008 14:19:22
RS
Hi,

For Each raZelle ....
    If IsDate(raZelle) Then
dein Code...
End if
Next raZelle


Grüsse RS

AW: Geb. im Kommentar anzeigen
20.12.2008 08:58:00
Beverly
Hi Peter,
wenn du den 29.02. (irgendeines Jahres) einträgst, wird dieser natürlich nicht gefunden, wenn er in deinem Kalender nicht vorkommt, also das Kalenderjahr kein Schaltjahr ist. Folglich entsteht ein Fehler. Ändere den Code wie folgt, dann wird der Kommentar trotzdem unter der schwarz formatierten Zelle eingetragen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
Dim raBereich As Range
Set raBereich = Union(Range("D2:AH2"), Range("D5:AH5"), Range("D8:AH8"), Range("D11:AH1"),  _
Range("D14:AH14"), Range("D17:AH17"), Range("D20:AH20"), Range("D23:AH23"), Range("D26:AH26"), Range("D29:AH29"), Range("D32:AH32"), Range("D35:AH35"))
If Target.Column  7 Then Exit Sub
If IsDate(Target) Then
If Month(Target) = 2 And Day(Target) = 29 Then
If DateAdd("d", 1, "28.02." & Year(Date)) = CDate("29.02." & Year(Date)) Then
If Worksheets("Kalender").Range("AF7").Comment Is Nothing Then
Worksheets("Kalender").Range("AF7").AddComment Target.Offset(0, -1) & " " &  _
Target.Offset(0, 1)
Else
If InStr(Worksheets("Kalender").Range("AF7").Comment.Text, Target.Offset(0, -1) & _
" " & Target.Offset(0, 1)) = 0 Then
Worksheets("Kalender").Range("AF7").Comment.Text Worksheets("Kalender").Range( _
"AF7").Comment.Text & vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
End If
Else
For Each raZelle In Worksheets("Kalender").Range(raBereich.Address)
If Day(raZelle) = Day(Target) And Month(raZelle) = Month(Target) Then
If raZelle.Offset(2, 0).Comment Is Nothing Then
raZelle.Offset(2, 0).AddComment Target.Offset(0, -1) & " " & Target.Offset(0, _
1)
Else
If InStr(raZelle.Offset(2, 0).Comment.Text, Target.Offset(0, -1) & " " &  _
Target.Offset(0, 1)) = 0 Then
raZelle.Offset(2, 0).Comment.Text raZelle.Offset(2, 0).Comment.Text &  _
vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
raZelle.Offset(2, 0).Comment.Shape.OLEFormat.Object.AutoSize = True
Exit For
End If
Next raZelle
End If
End If
End Sub




Anzeige
AW: Geb. im Kommentar anzeigen - Korrektur
20.12.2008 11:15:00
Beverly
Hi Peter,
im Ursrungscode ist noch ein Fehler: ändere diesen Ausdruck Range("D11:AH1") in Range("D11:AH11")


AW: Geb. im Kommentar anzeigen - Korrektur
21.12.2008 20:02:40
Peter
Hallo Karin
danke für deine hilfe klappt alles super. Hätte da noch eine frage. Da ich mich ja in VBA nicht so gut auskenne würde ich noch gerne wissen wie ich die Kommentare wenn ich den Code ändere in eine andere Zeile setzen kann?
Gruß Peter
AW: Geb. im Kommentar anzeigen - Korrektur
21.12.2008 20:49:00
Beverly
Hi Peter,
mit dem Befehl raZelle.Offset(2, 0).AddComment wird der Kommentar genau 2 Zeilen unterhalb der gefundenen Zeile eingetragen. Durch Änderung des Wertes 2 erreichst du, dass der Eintrag in eine andere Zeile erfolgt - es können auch Minuswerte (also oberhalb der gefundenen Zeile) verwendet werden.


Anzeige
AW: Geb. im Kommentar anzeigen - Korrektur
21.12.2008 21:04:00
Peter
Hi Karin
danke für deine schnelle und gute hilfe.
Gruß Peter
AW: Geb. im Kommentar anzeigen - Korrektur
21.12.2008 21:25:02
Peter
Hi Karin
ich hab doch noch ein Problem gefunden. Ich habe am 29 Feb. eine Formel drin damit sich der Tag bei einem Schaltjahr ein und ausblendet. Das hatte ich in der Beispielmappe nicht. Ich habe den Code in die Original Mappe kopiert und wenn ich den 1 Geb. im März eingebe bekomme ich eine fehlermeldung und wenn ich die Formel lösche ist alles gut. Kann man das noch ändern ?
Gruß Peter
https://www.herber.de/bbs/user/57802.xls
AW: Geb. im Kommentar anzeigen - Korrektur
22.12.2008 13:38:00
Beverly
Hi Peter,
ändere den Else-Zweig wie folgt:

Else
On Error Resume Next
For Each raZelle In Worksheets("Kalender").Range(raBereich.Address)
If Day(raZelle) = Day(Target) And Month(raZelle) = Month(Target) Then
If raZelle.Offset(2, 0).Comment Is Nothing Then
raZelle.Offset(2, 0).AddComment Target.Offset(0, -1) & " " & _
Target.Offset(0, 1)
Else
If InStr(raZelle.Offset(2, 0).Comment.Text, Target.Offset(0, -1) & " " & _
Target.Offset(0, 1)) = 0 Then
raZelle.Offset(2, 0).Comment.Text raZelle.Offset(2, 0).Comment.Text & _
vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
raZelle.Offset(2, 0).Comment.Shape.OLEFormat.Object.AutoSize = True
End If
Next raZelle
On Error GoTo 0
End If


Ich bin zwar kein Freund von On Error Resume Next, habe aber keine andere Möglichkeit gefunden, den Fehler anderweitig abzufangen.



Anzeige
AW: Geb. im Kommentar anzeigen - Korrektur
23.12.2008 16:12:01
Peter
Hallo Karin
ich kann jetzt die Geb. eingeben aber jetzt stehen zusätzlich noch alle Geb. am 29.2 in einem Kommentar. Kannst du mir da auch noch helfen das das nicht vorkommt?
Gruß Peter
Ps. schau dir mal die Datei an.
https://www.herber.de/bbs/user/57854.xls
AW: Geb. im Kommentar anzeigen - Korrektur
23.12.2008 16:39:04
Beverly
Hi Peter,
versuche es mal so:

Else
For Each raZelle In Worksheets("Kalender").Range(raBereich.Address)
If raZelle  "" Then
If Day(raZelle) = Day(Target) And Month(raZelle) = Month(Target) Then
If raZelle.Offset(2, 0).Comment Is Nothing Then
raZelle.Offset(2, 0).AddComment Target.Offset(0, -1) & " " & _
Target.Offset(0, 1)
Else
If InStr(raZelle.Offset(2, 0).Comment.Text, Target.Offset(0, -1) & " " & _
_
Target.Offset(0, 1)) = 0 Then
raZelle.Offset(2, 0).Comment.Text raZelle.Offset(2, 0).Comment.Text  _
& _
vbLf & Target.Offset(0, -1) & " " & Target.Offset(0, 1)
End If
End If
raZelle.Offset(2, 0).Comment.Shape.OLEFormat.Object.AutoSize = True
End If
End If
Next raZelle
End If


Damit wäre auch das On Error aus dem Spiel. Ich hoffe, es funktionert auf diesem Weg.



Anzeige
AW: Geb. im Kommentar anzeigen - Korrektur
02.01.2009 12:33:00
Peter
Hallo Karin
alles gute im Neuen Jahr. Konnte jetzt erst schauen hatte viel um die Ohren. Der Code klappt alles super. Danke für deine hilfe.
Gruß Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige