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

Kommentare in Excel 64 bit auslesen

Kommentare in Excel 64 bit auslesen
04.06.2019 13:02:09
Beverly
Hi Helfer,
Excel-Version 2016.
Ich habe eine formatierte Tabelle, die gefiltert wird und lese im DataBodyRange der Spalten 37 bis 49 Kommentare aus, falls welche vorhanden sind. Mit der 32 bit Version funktioniert mein Code problemlos, wenn ich nach folgendem Prinzip prüfe, ob die Zelle einen Kommentar hat:
Dim intSpalte As Integer
Dim rngZelle As Range
With Worksheets(1).ListObjects(1)
' alle Filter aufheben
If Not .AutoFilter Is Nothing Then .AutoFilter.ShowAllData
' Spalte E nach 1 filtern
.Range.AutoFilter Field:=5, Criteria1:="1"
' Schleife über alle gefilterten Zeilen/Zellen
For Each rngZelle In .DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible)
' Schleife über die Spalten 37 bis 49
For intSpalte = 37 To 49
' prüfen ob in laufender Zelle ein Kommentar ist
If Not .Parent.Cells(rngZelle.Row, intSpalte).Comment Is Nothing Then
' hier weiterer Code
In 64 bit dagegen, geht der Code nicht in die If-Anweisung. Wie kann man in dieser Version prüfen, ob Zellen einen Kommentar haben?


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare in Excel 64 bit auslesen - gelöst
04.06.2019 20:27:43
Beverly
@All,
folgender Code funktioniert sowohl in 32 als auch in 64 bit
Dim intSpalte As Integer
Dim rngZelle As Range
Dim varComment As Variant
With Worksheets(1).ListObjects(1)
' alle Filter aufheben
If Not .AutoFilter Is Nothing Then .AutoFilter.ShowAllData
' Spalte E nach 1 filtern
.Range.AutoFilter Field:=5, Criteria1:="1"
' Schleife über alle gefilterten Zeilen/Zellen
For Each rngZelle In .DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible)
' Schleife über die Spalten 37 bis 49
For intSpalte = 37 To 49
' prüfen ob in laufender Zelle ein Kommentar ist
On Error Resume Next
Set varComment = .Parent.Cells(rngZelle.Row, intSpalte).Comment
On Error GoTo 0
If Not varComment Is Nothing Then
' hier weiterer Code


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige