Verständnisfrage zu Felddimensionen
#1
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?
Top
#2
Hallo Lupy,

(06.01.2017, 12:57)Lupy schrieb: Welche Dimension hat denn FeldB?

das sieht man sehr schön im Lokalfenster. Smile

   

Gruß Uwe
Top
#3
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.





Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste