Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1184to1188
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

Zellsprung bestimmen - Problem bei Array einlesen

Zellsprung bestimmen - Problem bei Array einlesen
Mexsalem
Hallo,
ich habe mein Problem gleich mitgebracht :
https://www.herber.de/bbs/user/72209.xls
Ich möchte gerne ein Array einlesen, welches sich in einem bestimmen Bereich (E4:E16) in einem Tabellenblatt (INDEX) befindet.
Konkret sollen durch das Makro SprungVor bzw. SprungZurück die genannten Zellen in dem Bereich nacheinander bei TAB, ENTER, RETURN angesprungen werden und das ganze auch rückwarts.
Wenn ich das Array manuell definiere (arr = Array("B1", "A1", "A2", "C3", "E3", "E4", "E5", "E6", "E7", "E9", "E11", "E13", "E14")), funktioniert es wunderbar. Aber bei meiner eigentlich geplanten Sprungfolge betrifft das insgesamt 105 Positionen/Werte ......
Ich habe es zuerst so ausprobiert :
Dim arr As Variant
arr = [E4:E16]

Aber das funktioniert nicht, da das Array anscheinend zweidimensional eingelesen wird.
Danke bereits für eure Unterstützung.
Gruß
Mexsalem

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zellsprung bestimmen - Problem bei Array einlesen
09.11.2010 02:31:26
fcs
Hallo Mexsalem,
wenn das Array zweidimensional eingelesen wird, dann muss du dies beim Einlesen der Zelladressen doch nur berücksichtigen.
Du kannst hier aber genausogut gleich mit einem Range-Objekt arbeiten.
Gruß
Franz
Option Explicit
Option Base 1
Dim intIndex As Integer
Private Sub SprungVor()
Dim rIndex As Range
intIndex = intIndex + 1
Set rIndex = Worksheets("INDEX").Range("E4:E16")
Range(rIndex(intIndex, 1).Value).Select
If intIndex = rIndex.Rows.Count Then intIndex = 0   ' Wenn letzte Zelle erreicht, dann wieder  _
auf Anfangszelle
End Sub
Private Sub SprungZurück()
Dim rIndex As Range
Set rIndex = Worksheets("INDEX").Range("E4:E16")
intIndex = intIndex - 1
If intIndex = 0 Then intIndex = rIndex.Rows.Count   ' Wenn lAnfangszelle erreicht, dann wieder  _
auf letzte Zelle
Range(rIndex(intIndex, 1).Value).Select
End Sub

Anzeige
AW: Zellsprung bestimmen - Problem bei Array einlesen
09.11.2010 21:42:41
Mexsalem
Hallo Franz,
vielen Dank - dein Ansatz funktioniert wunderbar.
Gruß Mexsalem

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige