Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Array anlegen und Wert auslesen

Forumthread: Array anlegen und Wert auslesen

Array anlegen und Wert auslesen
27.08.2020 14:56:45
Michael
Hallo Zusammen,
wie kann ich einen Zellbereich als Array anlegen und dann auf einzelne Zellen des Arrays in VBA zugreifen?
Versuche wie:
Public Werte() As Long
Sub test()
Werte() = Tabelle1.Range("M12:M17").Value
Tabelle1.Range("M26") = Werte(0, 0)
End Sub
scheitern einfach kläglich.
Geht das überhaubt?
Vielen Dank für Eure Unterstützung
Michael
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array anlegen und Wert auslesen
27.08.2020 15:12:52
peterk
Hallo

Sub Test()
Dim myArr As Variant
myArr = Range("A1:A12")
Tabelle1.Range("M26") = myArr(2, 1)  ' 2.Zeile, 1. Spalte
End Sub

noch eine Frage
27.08.2020 15:47:45
Michael
Hallo Peter,
funktioniert wie gewünscht!
Ist es möglich, die beiden Zeilen global (für alle Module) zu definieren?:
Dim myARR As Variant
myARR = Tabelle1.Range("A1:A12")
Dann könnte ich mit myARR(nn n) in allen Modulen auf die Werte zugreifen.
Vielen Dank und Gruß
Michael
Anzeige
AW: noch eine Frage
27.08.2020 15:56:20
peterk
Hallo

Option Explicit
Public myArr As Variant
Sub Init()
myArr = Tabelle1.Range("A1:A12")
End Sub
Sub Test()
Tabelle1.Range("M26") = myArr(2, 1)  ' 2.Zeile, 1. Spalte
End Sub

Fehlermeldung
27.08.2020 16:07:49
Michael
Hallo,
leider kommt die Fehlermeldung:
Laufzeitfehler 13
Typen unverträglich
Ich habe den Code zu 100% übernommen.
Gruß
Michael
Anzeige
AW: Fehlermeldung
27.08.2020 16:13:45
Gerd
Moin Michael!
Public myArr As Variant
Sub Init()
myArr = Tabelle1.Range("A1:A12")
End Sub
Sub Test()
Call Init
Tabelle1.Range("M26") = myArr(2, 1)  ' 2.Zeile, 1. Spalte
End Sub
Die Prozedur Init muss vor der Prozedur Test laufen, damit myArr Werte hat.
Gruß Gerd
Anzeige
Danke Gerd! owT
27.08.2020 16:26:10
Michael
AW: Array anlegen und Wert auslesen
27.08.2020 15:30:20
Rudi
Hallo,
1. als Variant
2. Arrays aus Zellbereichen haben als kleinsten Dimension arr(1,1)
Dim werte
Sub test()
werte = Tabelle1.Range("M12:M17")
Tabelle1.Range("M26") = werte(1, 1)
End Sub

;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige