Registriert seit: 01.08.2016
Version(en): 2007
Hallo an diesem schönen kalten Wintertag,
habe mal eine kleine Verständnisfrage zu Feldern:
Code:
Dim FeldA, FeldB
FeldA = [transpose(A1:A100)]
FeldB = [A1:A100]
Bei o.g. Code dürfte FeldA ein eindimensionales Feld sein.
Welche Dimension hat denn FeldB?
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Lupy,
(06.01.2017, 12:57)Lupy schrieb: Welche Dimension hat denn FeldB?
das sieht man sehr schön im Lokalfenster.
Gruß Uwe
Registriert seit: 21.06.2016
Version(en): 2021
06.01.2017, 14:05
(Dieser Beitrag wurde zuletzt bearbeitet: 06.01.2017, 14:07 von Ego.)
Hallo Lupy,
matematisch hat eine transponierter Vektor die gleiche Dimension wie der Ursprungsvektor (Eins).
In Excel hat er aber die Dimension Zwei, wobei aber der höchste verfügbare Feldindex (UBound) der zweiten Dimension 1 ist.
Code:
Private Sub cbDimension_Click()
Dim intAnz As Integer
Dim intDim As Integer
Dim varFeldA, varFeldB
varFeldA = [transpose(A1:A100)]
varFeldB = [A1:A100]
For intDim = 1 To 3
On Error Resume Next
intAnz = -999
intAnz = UBound(varFeldA, intDim)
MsgBox "Länge dim " & intDim & " von FeldA = " & intAnz
intAnz = -999
intAnz = UBound(varFeldB, intDim)
MsgBox "Länge dim " & intDim & " von FeldB = " & intAnz
Next intDim
End Sub
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.