Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1632to1636
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

Array auslesen - falscher Wert??

Array auslesen - falscher Wert?
06.07.2018 19:10:41
Gerd
Hallo,
ich habe folgendes Problem:
In meinem Excel Arbeitsblatt habe ich ein Datenfeld bestehend aus zwei Zeilen und drei Spalten - siehe Bild.
Userbild
Dieses lese ich per vba ein und speichere es unter der Variablen selRange ab.
Danach greife ich testweise auf verschiedene Bereiche zu und habe dabei folgendes Problem:
---------------------------------------------------------

Sub dsg()
Dim selRange As Variant
Dim iTotalRows As Integer
Dim jTotalColumns As Integer
iTotalRows = Range("A65535").End(xlUp).Row
jTotalColumns = Cells(42, Columns.Count).End(xlToLeft).Column
selRange = Range(Worksheets(1).Cells(42, 1), Worksheets(1).Cells(iTotalRows, jTotalColumns))
x = selRange(1, 1)
y = selRange(1, 3)
Z = selRange(2, 2)
Z = selRange(2, 2)
End Sub

---------------------------------------------------------------------
Die Werte für x und y werden mit "11" und "13" korrekt ausgegeben.
Für z erhalte ich jedoch die Ausgabe "Leer" (erste Stop Marke)
Erst bei der einer erneuten Abfrage (zweite Stop Marke) - deshalb auch zweimal die Zeile
Z = selRange(2, 2)
im Code erhalte ich das korrekte Ergebnis von "22".
Userbild
Was läuft hier falsch? Wieso muss ich den Wert für z zweimal abfragen bis ich das korrekte Ergebnis erhalte?
Vielen Dank für eure Hilfe!

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array auslesen - falscher Wert?
06.07.2018 19:20:03
Sepp
Hallo Gerd,
ist nicht nachvollziehbar. Vielleicht ein Referenzierungsproblem.
Sub dsg()
  Dim selRange As Variant, x As Variant, y As Variant, z As Variant
  Dim lngRow As Long, lngCol As Long
    
  With Worksheets(1)
    lngRow = .Range("A65535").End(xlUp).Row
    lngCol = .Cells(42, .Columns.Count).End(xlToLeft).Column
    selRange = .Range(.Cells(42, 1), .Cells(lngRow, lngCol))
  End With
  
  x = selRange(1, 1)
  y = selRange(1, 3)
  z = selRange(2, 2)
  
End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0


 ABCDEF
1Gruß Sepp
2
3

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige