1
Ich arbeite mit einer Excel-Datei, die die folgenden Werte mit einigen Zellkommentaren enthält. VBA _ Excel Range Kommentare zu Array
Der folgende VB-Code dient zum Kopieren der Werte und Kommentare in ein Array.
Sub commentToArray()
arrayValues = Range("A1:A6").Value
arrayComments = Range("A1:A6").Comment.Text
End Sub
Das Werte-Array funktioniert einwandfrei, aber das Kommentar-Array füllt eine Fehlermeldung.
Könnten Sie mir bitte helfen, dieses heraus zu sortieren.
Danke, Aneesh
Ich bezweifle, 'Range.Comment.Text' würde auf mehrere Zellen auf einmal arbeiten. – kaza
@bulbus ist richtig. Sie können nicht alle Kommentare in ein Array wie dieses schreiben. Der Grund dafür ist, dass die Auflistung aller Kommentare auf einem Blatt "ActiveSheet.Comments" und nicht ActiveSheet.Range ("A1: A5") ist. Dies liegt daran, dass jedes Mitglied einer Sammlung angesprochen werden kann. Aber wenn eine Zelle keinen Kommentar enthält. Kurz gesagt: Die Sammlung 'ActiveSheet.Cells' wird immer' ActiveSheet.Rows.Count' multipliziert mit 'ActiveSheet.Columns.Count' = 17.179.869.184 Zellen für ein Excel 2007 Blatt (oder höher) sein. Die Sammlung von 'ActiveSheet.Comments' ist nur so groß, wie es Kommentare auf dem Blatt gibt – Ralph
Mögliches Duplikat von [Beschleunigung der Arbeit mit Kommentaren in Excel VBA] (https://stackoverflow.com/questions/31234053/speed-up- working-with-comments-in-excel-vba) Genauer gesagt, die folgende Antwort erklärt besser, was ich versuchte, in den obigen Kommentar zu bekommen: https://Stackoverflow.com/a/31235424/1153513 – Ralph