wenn man in Excel 2016 (ProPlus, deutsch) versucht, per VBA mit Range.Text einen Zahlenwert aus einer Zelle einer ausgeblendeten Spalte zu lesen, kommt nichts zurück. Es funktioniert aber problemlos, solange die Spalte eingeblendet ist.
Range.Value funktioniert in beiden Fällen.
Range.Text funktioniert in beiden Fällen, wenn in der Zelle ein Text steht.
Wenn man die Zeile ausblendet statt der Spalte funktioniert es ebenfalls immer.
Ich halte das für einen Bug, jedenfalls fällt mir keine sinnvolle Erklärung ein warum das Absicht sein sollte. Gab es das in den Vorversionen auch schon oder ist der neu? Könnte das mal jemand testen?
Sub buggy()
Dim rng As Excel.Range
Set rng = ActiveSheet.Cells(1, 1) ' Aktives Blatt, A1
rng.EntireColumn.Hidden = False ' Spalte A sicher einblenden
rng.Value = 100 ' 100 als Zahl eintragen
Debug.Assert rng.Value = 100
Debug.Assert rng.Text = 100
rng.EntireColumn.Hidden = True ' Spalte A ausblenden
Debug.Assert rng.Value = 100
Debug.Assert rng.Text = 100 '
Vielen DankKarsten
PS: Es gibt im konkreten Fall gute Gründe für die Verwendung von .Text. Ich umgehe das Problem jetzt, indem ich nochmal mit .Value lese, wenn .Text leer ist und die Spalte ausgeblendet ist. Aber schön ist anders.