Guten Tag, ich habe ein kleines Problem beim Einlesen von Werten in VBA.
Ich habe n Koordinatenpaare in meinem Exeltabellenblatt, was dann ungefähr so aussieht:
Sub gauss()
Dim x() As Double
Dim y() As Double
Dim m As Double
Dim P1 As Double
Dim P2 As Double
Dim i As Integer
Zeile = 4
While Cells(Zeile, 1) „“
Zeile = Zeile + 1
Wend
n = Zeile - 4
m = n
ReDim xy(1 To m, 1 To m)
Dim db As New DrawBoard
While Cells(i, 1) „“
For i = 1 To m
P1(i) = Cells(i, 1)
P2(i) = Cells(i, 2)
Next i
End Sub
aber es funktioniert nicht so recht, kann mir jmd helfen, was
ich tun muss damit es läuft?
Hi Jay,
benutze bitte Einrückungen und den Pre-Tag beim Code-posten.
Probiers mal damit:
Option Explicit
Option Base 1
Sub gauss()
Dim x() As Double, y() As Double, Zeile As Long, Z As Long
Zeile = Cells(Rows.Count, 1).End(xlUp).Row 'letzte belegte Zelle in A
ReDim x(Zeile)
ReDim y(Zeile)
For Z = 2 To Zeile
x(Z) = Cells(Z, 1)
y(Z) = Cells(Z, 2)
'MsgBox x(Z) & "-" & y(Z)
Next Z
End Sub
Die nachfolgende Variante ist zwar schicker, aber es tut sich wenig.
Scheinbar wird korrekt eingelesen, aber bei der Ausgabe hänge ich fest:frowning:
Sub gauss2()
Dim x, y, Zeile As Long, Z As Long
Zeile = Cells(Rows.Count, 1).End(xlUp).Row 'letzte belegte Zelle in A
x = Range("A1:A" & Zeile)
y = Range("B1:B" & Zeile)
MsgBox TypeName(y)
On Error Resume Next
MsgBox UBound(x)
For Z = 2 To Zeile
MsgBox x(Z) & "-" & y(Z)
Next Z
End Sub
Hi Super ich danke dir, die Ausgabe ist egal, darum muss ich mich kümmern, da ich es in einem sogenanten Drawboard ausgebe. Dieses Drawboard zeichnet dann meinen Querschnitt, der durch die Koordinaten bestimmt wurde.
Kann ich Excel Daten in VB einlesen ohne das Excel Sichtbar
geöffnet wird ?
Nein, da VBA ein Programm von Exel ist, quasi ein
Unterprogramm oder ein Bedienelement von Exel.
Doch das kann er, indem er zu VB greift und mit CreateObject einen Instanz von Excel erstellt. So kann er dann beliebig auf die Daten zugreifen ohne das der Anwender es sieht