AW: mit VBA Kommentare eintragen
15.04.2022 17:29:13
Die
Hallo, was soll denn ein Upload bringen? Ich habe eine Excelliste, in denen auf einem Tabellenblatt 'K' ca. 8400 Zeilen wie folgt aussehen:
Spalte A: Name
Spalte B: Vorname
Spalte C: Kundennr.
Spalte D (ab hier wird es interessant): Adresse im Format 'A1'
Spalte E: Inhalt des Kommentars
Beispiel (Spalte A, B, C ist unerheblich):
Spalte D: OH115
Spalte E: Die Johanna: Kunde ruft an und meldet sich krank. AU angefordert.
Es macht nun m.E. wenig Sinn, mir 8.400 neue, datenschutzkonforme Texte auszudenken.
Mein Wunsch wäre, dass ein Makro in einem anderen Tabellenblatt 'TN-Dat' in Zelle OH115 ein Kommentar anlegt, in dem 'Die Johanna: Kunde ruft an und meldet sich krank. AU angefordert." reingeschrieben wird. Dann springt das Makro auf die nächste Zeile, in der eine andere Adresse mit einem anderen Text angelegt wird.
Ist es so verständlich? In der Liste steht sonst nichts, man kann da keine einzige Formel nachvollziehen, weil ja nur die Daten eines anderen Prozesses dort abgelegt.
Danke für Hilfe
Die Johanna
Hier das Makro, was die Kommentare speichert:
Sub Kommentare()
Dim i As Long, n As Long
Dim rngC As Range
Dim varCom As Variant
Dim dname As String
Dim dateiname As String
Dim aktpfad As String
Dim pfad As String
Dim v
n = Sheets("TN-Dat").Comments.Count
i = 1
ReDim varCom(1 To n, 1 To 5)
For Each rngC In Sheets("TN-Dat").Range("GS11:AGQ500").SpecialCells(xlCellTypeComments)
varCom(i, 1) = Sheets("TN-Dat").Range("B" & rngC.Row).Value
varCom(i, 2) = Sheets("TN-Dat").Range("C" & rngC.Row).Value
varCom(i, 3) = Sheets("TN-Dat").Range("I" & rngC.Row).Value
varCom(i, 4) = rngC.Address(0, 0)
varCom(i, 5) = rngC.Comment.Text
i = i + 1
Next
Worksheets("K").Visible = True
With Sheets("K")
.Range("A2:G12000").ClearContents
.Range("A2").Resize(n, 5) = varCom
End With
dateiname = "Kommentare_"
dname = Format(Date, "YYYY_MM_DD")
aktpfad = ThisWorkbook.Path
pfad = aktpfad & "\Archiv\Kommentare\"
Worksheets("K").Copy
ActiveWorkbook.SaveAs pfad & dateiname & dname
ActiveWorkbook.Close
Worksheets("K").Visible = False
End Sub