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

array laden

array laden
01.09.2005 17:08:55
Stan
Hallo Forum,
Nachdem ich mein array in die .txt Datei gespeichert habe, möchte ich es wieder laden. nur scheint es nicht zu laufen wie ich will.
hier das Programm:
' Array aus Datei einlesen

Private Sub ReadArray()
Dim F As Integer
Dim nCount As Long
Dim sFile As String
sFile = ThisWorkbook.Path & "\arrayABregion.dat"
' Datei im BinaryMode öffnen
If Len(Dir$(sFile)) > 0 Then
F = FreeFile
Open sFile For Binary As #F
' Anzahl Elemente lesen
Get #F, , nCount
' Array dimensionieren und einlesen
ReDim NameEinkaufsregion(nCount)
Get #F, , NameEinkaufsregion
Close #F
End If
MsgBox (NameEinkaufsregion)
End Sub

Der Fehler wird bei Redim gemeldet. er sagt, dass das "Datenfeld bereits dimensioniert" ist, und nur mit Dim sagt er: "konstanter Ausdruck erforderlich". Das array ist in Modul mit public dimensioniert worden.
Gruß
Stan

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: array laden
01.09.2005 17:12:02
Fred
Hi,
wo und wie ist dein Array deklariert?
mfg Fred
AW: array laden
01.09.2005 20:30:34
stan
hi Fred,
Anscheinend ist mein anderer Nachrichtentext gelöscht worden!
Mein Array ist im modul und zwar so deklariert:
const AER =20
Public NameEinkaufsregion(AER) as string
hoffentlich hilft es etwas!
Gruß
Stan
AW: array laden
01.09.2005 21:29:46
Heiko
Hallo Stan,
wenn dir das nicht schnell genug geht mit den Antworten, siehe hier: https://www.herber.de/forum/messages/661204.html
und du das Problem gleich mehrfach postet, dann habe ich keine Lust mehr mir Arbeit zu machen die andere vielleicht auch gerade machen oder das Problem schon gelöst ist.
Ich bin raus!
Gruß Heiko
Anzeige
MannMannMann
01.09.2005 22:00:12
Nepumuk
Excel sagt dir doch genau wo dein Fehler liegt.
Public NameEinkaufsregion() as String
Wenn du natürlich schon weißt, dass es genau 20 Datensätze sind, wozu dann Redim?
Nepumuk
AW: MannMannMann
01.09.2005 22:05:14
Stan
Hi,
Das Programm habe ich von dieser Adresse http://www.vbarchiv.net/archiv/tipp_1093.html und versuche es an meinem Programm anzupassen. ging bis jetzt nicht und wenn ich dieses Redim lösche dann verlangt er eine Prozedur!! und ich weiss nicht was ich reinschreiben soll dass das Programm läuft!?
Gruß
Stan
AW: MannMannMann
01.09.2005 23:15:52
Nepumuk
Hi,
das einzige Problem ist die Dimensionierung deines Arrays.
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Const AER = 20
Public NameEinkaufsregion As Variant

Private Sub ReadArray()
    Dim F As Integer
    Dim nCount As Long
    Dim sFile As String
    sFile = ThisWorkbook.Path & "\arrayABregion.dat"
    ' Datei im BinaryMode öffnen
    If Len(Dir$(sFile)) > 0 Then
        F = FreeFile
        Open sFile For Binary As #F
        ' Anzahl Elemente lesen
        Get #F, , nCount
        ' Array dimensionieren und einlesen
        Redim NameEinkaufsregion(1 To nCount)
        Get #F, , NameEinkaufsregion
        Close #F
    End If
    MsgBox NameEinkaufsregion(1)
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: MannMannMann
02.09.2005 10:34:53
Stan
Hi Nepumuk,
jetzt gehts....ich habe Redim NameEinkaufsregion(1 To nCount) einfach gelöscht und komischerweise gehts!!! Nun versuche ich die Anzahl der Einkaufsregionen der Variable AnzEinkaufsregion wieder zuzuweisen aber er gibt die Dimensionierung zurück (Const AER=50) und nicht die Anzahl die man in dem Userform eingegeben hat!!!

Private Sub ReadArray()
Dim l As Integer
Dim F As Integer
Dim nCount As Long
Dim sFile As String
sFile = ThisWorkbook.Path & "\arrayABregion.dat"
' Datei im BinaryMode öffnen
If Len(Dir$(sFile)) > 0 Then
F = FreeFile
Open sFile For Binary As #F
' Anzahl Elemente lesen
Get #F, , nCount
' Array dimensionieren und einlesen
'ReDim NameEinkaufsregion(nCount)
AnzEinkaufsregion = nCount
Get #F, , NameEinkaufsregion
Close #F
End If
MsgBox (AnzEinkaufsregion)
End Sub

Gruß
Stan
Anzeige
AW: MannMannMann
02.09.2005 12:11:23
Stan
Hi Nepumuk,
Das Programm was ich da gefunden habe, um array zu speichern und wieder zu laden, eignet sich gut für arrays mit 1 Dimension. Aber ich habe Arrayx mit bis zu 5 Dimensionen und ich frage mich wie ich ihm sagen soll beim Laden welche Werte zu welche Dimension zugewiesen wird?!!! Wenn du eine Idee hättest wie man solche arrays speichert und wieder sauber laden kann, wäre ich sehr dankbar!!!
Gruß
Stan
doppelt
01.09.2005 17:12:54
DOPPELT
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige