Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
692to696
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
692to696
692to696
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamische Datenfelder

Dynamische Datenfelder
13.11.2005 18:31:11
Serge
Hallo lieber Forum!!!
Bitte helft mir!!!
problem Nr.1
Public arrSort(1 To 180) As String
Public i As Long

Private Sub Array_Fuellen()
Dim zeile As Long
zeile = 5
For i = 1 To 180
arrSort(i) = ThisWorkbook.Sheets(1).Cells(zeile, 3).Text
zeile = zeile + 1
Next i
End Sub

'so fülle ich einen statischen Datenfeld auf

Private Sub test()
For i = 5 To 180
arrSort(i) = "f"
i = i + 1
Next i
MsgBox arrSort(8)' statt "f" wird mir den Datensatz aus dem ersten array angezeigt
End Sub

meine Frage wäre warum..was mach ich falsch?
Problem 2 : dynamischer array
wie lässt es sich verwirklichen ?
etwa so :
Public arrSort() As String
Public i As Long

Private Sub Array_Fuellen()
ReDim arrsort (4 to zeile) As String
Dim zeile As Long
zeile = 5
For i = 4 To zeile
arrSort(i) = ThisWorkbook.Sheets(1).Cells(zeile+1, 3).Text
zeile = zeile + 1
Next i
End Sub

Danke im Voraus
liebe Grüsse
Serge

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamische Datenfelder
13.11.2005 18:44:17
Josef
Hallo Serge!
Wenn du einen Schleifenzähler verwendest, dann darfst du diesen nicht innerhalb
der Schleife nochmals hochzählen!
Ausserdem kannst du ein bereits dimensioniertes Datenfeld nicht nochmals
dimensionieren! Lass die Dimension bei der Deklaration offen und dimensioniere
in deinem Makro!
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public arrSort() As String
Public i As Long

Private Sub Array_Fuellen()
Dim lngZeile As Long

Redim arrSort(1 To 180)

For lngZeile = 1 To 180
  
  arrSort(lngZeile) = ThisWorkbook.Sheets(1).Cells(lngZeile + 4, 3).Text
  
Next

End Sub





Private Sub test()
Dim i As Integer

For i = 5 To 180
  
  arrSort(i) = "f"
  
Next

MsgBox arrSort(8)

End Sub






Private Sub Array_Fuellen2()
Dim lngZeile As Long

lngZeile = 5

Redim arrSort(4 To lngZeile)

For i = 4 To lngZeile
  
  arrSort(lngZeile) = ThisWorkbook.Sheets(1).Cells(lngZeile + 1, 3).Text
  
Next

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Dynamische Datenfelder
13.11.2005 19:20:39
Serge
hi Josef ..vielen Dank für deine Hilfe...jetzt sehe ich auch ein, dass Index hochzuzählen in einer For ..Next Schleife, war einfach dumm gewesen.
:)
Mit dem dynamischen Datenfeld funzt leider noch nicht...
also noch mal..
Public arrSort() As String
Public i As Long
Public lngZeile As Long 'obere Grenze des Datenfeldes
Sub test()
lngZeile = 180 'Der Veriable lngZeile wurde der Wert von 180 zugewiesen
End Sub

Private Sub Array_Fuellen2()
Dim zeile As Long 'Index variable
'lngZeile = 180 'wird aus einer anderen Prozedure  ausgelesen darum als public _deklarieren
ReDim arrSort(5 To lngZeile)
zeile = 5 '
For i = 5 To lngZeile
arrSort(i) = ThisWorkbook.Sheets(1).Cells(zeile, 3).Text
zeile = zeile + 1
Next
End Sub

Ist so richtig? Was meinst du Sepp?
danke
Anzeige
AW: Funzt ..Danke Seppi
13.11.2005 19:38:15
Serge
:)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige