Hallo zusammen,
ich brauche mal eure Hilfe. Mit dem Code unten sollen alle Kommentare auf der betroffenen Seite ausgelesen und untereinander sortiert auf einem anderen Tabellenblatt kopiert werden.
Jetzt zum Problem: Ich habe jetzt auf der Seite auch Kommentare die nicht ausgelesen weerden sollen. Er soll nur die Kommentare auslesen aus der Range (Set adr = .Range(.Cells(3, 8), .Cells(3, 33)))
Ich weiß aber nicht wie ich die Zeile (For Each cmtDieser In wksMitKommentaren.Comments) umschreiben muss. Egal was ich versucht habe, ich bekomme immer Fehlermeldungen, haupotsaächlich Fehler 1004.
Bin noch Anfänger im Bereich VBA, hoffe ihr habt eine Idee. Danke schonmal im vorraus
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksMitKommentaren As Worksheet 'die Tabelle mit Kommentaren
Dim wksAusdruck As Worksheet 'die Tabelle zum Auflisten der Kommentare
Dim cmtDieser As Comment 'ein Kommentar
Dim lngZeile As Long
Dim adr As Range
Dim a1 As Long
Set wksMitKommentaren = ActiveSheet
Set wksAusdruck = ThisWorkbook.Worksheets("Ereignisse")
With wksMitKommentaren
Set adr = .Range(.Cells(3, 8), .Cells(3, 33))
End With
wksMitKommentaren.Activate
With wksAusdruck 'Titelzeile schreiben:
lngZeile = 2
.Cells(lngZeile, 1).Value = "Datum"
.Cells(lngZeile, 2).Value = "Ereigniss"
.Rows(lngZeile).Font.Bold = True 'Titelzeile fett machen
For Each cmtDieser In wksMitKommentaren.Comments 'alle Kommentare durchlaufen und in neuer Tabelle auflisten
lngZeile = lngZeile + 1
a1 = cmtDieser.Parent.Column
.Cells(lngZeile, 1).Value = "Monat: " & wksMitKommentaren.Name & " // Tag: " & wksMitKommentaren.Cells(6, a1).Value
.Cells(lngZeile, 2).Value = cmtDieser.Text
Next
End With
End Sub
ich brauche mal eure Hilfe. Mit dem Code unten sollen alle Kommentare auf der betroffenen Seite ausgelesen und untereinander sortiert auf einem anderen Tabellenblatt kopiert werden.
Jetzt zum Problem: Ich habe jetzt auf der Seite auch Kommentare die nicht ausgelesen weerden sollen. Er soll nur die Kommentare auslesen aus der Range (Set adr = .Range(.Cells(3, 8), .Cells(3, 33)))
Ich weiß aber nicht wie ich die Zeile (For Each cmtDieser In wksMitKommentaren.Comments) umschreiben muss. Egal was ich versucht habe, ich bekomme immer Fehlermeldungen, haupotsaächlich Fehler 1004.
Bin noch Anfänger im Bereich VBA, hoffe ihr habt eine Idee. Danke schonmal im vorraus
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wksMitKommentaren As Worksheet 'die Tabelle mit Kommentaren
Dim wksAusdruck As Worksheet 'die Tabelle zum Auflisten der Kommentare
Dim cmtDieser As Comment 'ein Kommentar
Dim lngZeile As Long
Dim adr As Range
Dim a1 As Long
Set wksMitKommentaren = ActiveSheet
Set wksAusdruck = ThisWorkbook.Worksheets("Ereignisse")
With wksMitKommentaren
Set adr = .Range(.Cells(3, 8), .Cells(3, 33))
End With
wksMitKommentaren.Activate
With wksAusdruck 'Titelzeile schreiben:
lngZeile = 2
.Cells(lngZeile, 1).Value = "Datum"
.Cells(lngZeile, 2).Value = "Ereigniss"
.Rows(lngZeile).Font.Bold = True 'Titelzeile fett machen
For Each cmtDieser In wksMitKommentaren.Comments 'alle Kommentare durchlaufen und in neuer Tabelle auflisten
lngZeile = lngZeile + 1
a1 = cmtDieser.Parent.Column
.Cells(lngZeile, 1).Value = "Monat: " & wksMitKommentaren.Name & " // Tag: " & wksMitKommentaren.Cells(6, a1).Value
.Cells(lngZeile, 2).Value = cmtDieser.Text
Next
End With
End Sub