Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Array auf Leer Abfragen funktioniert nicht
zurück: gew. Tabellenblatt vorwählen, alle anderen ausblenden? weiter: Reihen in Bereich zählen in einer Schleife Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gastuser
Gast


Verfasst am:
22. Jan 2013, 16:53
Rufname:

Array auf Leer Abfragen funktioniert nicht - Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Hallo Zusammen,

ich erstelle mittels folgendem Code ein Array:

Code:
Dim fDaten() As Long


An mehrere bedingungen geknüpft fülle ich dieses Array oder auch nicht Smile
Später möchte ich einfach wissen, ob das Array gefüllt wurde oder nicht.

Das mache ich mit den folgenden Code-Zeilen

Code:
if (Not IsEmpty(fDaten)) Then
    'Testroutine
End If


Leider bekomme ich bei der Abfrage IsEmpty True zurück auch wenn ich nichts in das Array geschrieben habe. Frage ich das falsch ab?

Ich möchte nur etwas machen, wenn ich Werte in dem Array habe.

Danke Gruß,

Gastuser
Gastuser
Gast


Verfasst am:
22. Jan 2013, 17:26
Rufname:


AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

EDIT:

isEmpty liefert False als Ergebnis obwohl es "leer" ist. Wenn ich mit UBound an das Array gehe bekomme ich die Fehlermeldung Index außerhalb des gültigen Bereichs.
Gast



Verfasst am:
22. Jan 2013, 17:52
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Hallo,
eine Möglichkeit:
Code:
Sub aaa()
Dim arr(), x
On Error Resume Next
x = Application.CountA(arr)
On Error GoTo 0
If x = 0 Then MsgBox "Nix drin"
End Sub
Gruß
Rudi
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
22. Jan 2013, 20:32
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

HI
ein kleiner Blick in die Hilfe hilft:

Zitat:
IsEmpty gibt nur für Variant-Werte sinnvolle Informationen zurück


dimensioniere also fDaten als Variant, dann sollte es funktionieren: Den Variablentyp kannst du auch beim ReDim nocht festlegen.


Code:
Dim fDaten

if (Not IsEmpty(fDaten)) Then
    'Testroutine
End If

Gruß Daniel
Gastuser
Gast


Verfasst am:
23. Jan 2013, 09:47
Rufname:


AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Guten Morgen Zusammen,

also ich habe das Array als Variant dimensioniert. Das hat leider auch nicht geholfen.

Die Variante von Rudi werde ich gleich mal testen.

Vielen Dank für die Hilfe
slowboarder
Im Profil kannst Du frei den Rang ändern


Verfasst am:
23. Jan 2013, 09:55
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Zeig mal deinen Code.
Bei mir hilft es.
Führst du vielleicht ein ReDim aus, bevor du diese Abfrage machst?

Gruss Daniel
Gastuser
Gast


Verfasst am:
23. Jan 2013, 10:13
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Hallo Daniel,

ich kann dir leider nur Code-Schnippsel zeigen:

Code:
Private Function checkFile(anzTrennzSoll As Integer, datenString As String) As Variant
Dim arr
Dim anzTrennzIst As Long
Dim z As Long
Dim fDaten
Dim zaehler As Long
fDaten = Null
zaehler = 0
arr = Split(datenString, vbLf) 'Nach Datensätzen (Zeilen) splitten
For z = 0 To UBound(arr)
    anzTrennzIst = Len(arr(z)) - Len(Replace(arr(z), "|", ""))
    If (anzTrennzIst <> anzTrennzSoll) Then
        ReDim fDaten(zaehler)
        fDaten(zaehler) = z
        zaehler = zaehler + 1
    End If
Next z
checkFile = fDaten
End Function


In einer anderen Sub:
Code:
Dim fehlerhafteDaten
.
.
.
fehlerhafteDaten = checkFile(26, datenString)


Etwas weiter unten:

Code:
If (fehlerhafteDaten <> Null) Then
'Mach was...
End If


Ich habe jetzt einfach das Array auf Null gesetzt und Frage auf Null ab. Das funktioniert einwandfrei. Vorher wurde das Array nicht auf Null gesetzt und in der Abfrage habe ich folgendes stehen gehabt:

Code:
If (Not isEmpty(fehlerhafteDaten)) Then
'Mach was...
End If



Gruß Gastuser
Gastuser
Gast


Verfasst am:
23. Jan 2013, 10:23
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

kleines Update:

Die Abfrage auf Null läuft auf einen Fehler, wenn das Array gefüllt ist.... Typen unverträglich.

Confused
Gast



Verfasst am:
23. Jan 2013, 10:41
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Großes Update Smile

habe es hinbekommen. Statt das Array auf Null zu setzen, setze ich es einfach auf Empty Rolling Eyes

Funktioniert wunderbar.

Vielen Dank für eure Hilfe
Gast



Verfasst am:
23. Jan 2013, 10:45
Rufname:

AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

Großes Update Smile

habe es hinbekommen. Statt das Array auf Null zu setzen, setze ich es einfach auf Empty Rolling Eyes

Funktioniert wunderbar.

Vielen Dank für eure Hilfe
Phelan XLPH
Fortgeschritten


Verfasst am:
23. Jan 2013, 13:52
Rufname: Phelan


AW: Array auf Leer Abfragen funktioniert nicht - AW: Array auf Leer Abfragen funktioniert nicht

Nach oben
       Version: Office 2k (2000)

...ich bezweifle mal dass die Funktion so arbeitet wie du es dir wünschst. Confused

EDIT:

Sollte das nicht so funktionieren:

Code:
Sub TEST()
   Dim fehlerhafteDaten
   Dim sText As String
   
   sText = _
   "q|ert|3|df|5" & vbLf & _
   "q|ert|3|df" & vbLf & _
   "q|ert|3|df|5" & vbLf & _
   "q|ert|5"

   fehlerhafteDaten = checkFile(3, sText)
   
   If Not IsEmpty(fehlerhafteDaten) Then
      MsgBox "Fehler in Zeile :" & vbLf & vbLf & _
      Join(fehlerhafteDaten, vbLf)
   Else
      MsgBox "Keine Fehler!"
   End If

   sText = _
   "q|ert|3|df" & vbLf & _
   "q|ert|4|df" & vbLf & _
   "q|ert|5|df"

   fehlerhafteDaten = checkFile(3, sText)
   
   If Not IsEmpty(fehlerhafteDaten) Then
      MsgBox Join(fehlerhafteDaten, vbLf)
   Else
      MsgBox "Keine Fehler!"
   End If

End Sub

Private Function checkFile(anzTrennzSoll As Integer, datenString As String) As Variant
Dim arr
Dim anzTrennzIst As Long
Dim z As Long
Dim fDaten()
Dim zaehler As Long
zaehler = 0
arr = Split(datenString, vbLf) 'Nach Datensätzen (Zeilen) splitten
For z = 0 To UBound(arr)
    anzTrennzIst = Len(arr(z)) - Len(Replace(arr(z), "|", ""))
    If (anzTrennzIst <> anzTrennzSoll) Then
        ReDim Preserve fDaten(zaehler)
        fDaten(zaehler) = z
        zaehler = zaehler + 1
    End If
Next z
If zaehler Then checkFile = fDaten
End Function
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Mehr als 7 Verschachtelungen...Trick funktioniert nicht 35 falo1955 6961 07. Okt 2012, 20:20
Ork-Jaeger Mehr als 7 Verschachtelungen...Trick funktioniert nicht
Keine neuen Beiträge Excel Formeln: Zählen, wenn Zelle leer 3 MVJHS33 25441 21. Jan 2009, 12:46
Gast Zählen, wenn Zelle leer
Keine neuen Beiträge Excel Formeln: Zählenwenn mit 3 Argumenten funktioniert nicht - Alternative 17 Bittersweet 5081 25. Okt 2006, 11:36
< Peter > Zählenwenn mit 3 Argumenten funktioniert nicht - Alternative
Keine neuen Beiträge Excel Formeln: ZÄHLENWENN funktioniert nicht!! 6 Gast 2065 19. Sep 2006, 12:23
Willie ZÄHLENWENN funktioniert nicht!!
Keine neuen Beiträge Excel Formeln: Summen-Funktion funktioniert nicht 10 JxUxLxIxAxN 1260 06. Sep 2006, 14:59
JxUxLxIxAxN Summen-Funktion funktioniert nicht
Keine neuen Beiträge Excel Formeln: Alterabfrage über Datum abfragen 9 Daniel Albert 1939 07. Aug 2006, 12:36
Steffl Alterabfrage über Datum abfragen
Keine neuen Beiträge Excel Formeln: Summe mit 2 Abfragen 2 jaeger1977 505 28. Jul 2006, 13:51
jaeger1977 Summe mit 2 Abfragen
Keine neuen Beiträge Excel Formeln: Fragen lernen - von Excel abfragen lassen? Bitte helft mir! 11 0001001 1444 27. Jun 2006, 07:11
Gast Fragen lernen - von Excel abfragen lassen? Bitte helft mir!
Keine neuen Beiträge Excel Formeln: 12 WENN Abfragen in einer??? 12 Basti1282 2131 26. Jan 2006, 13:25
Arnim 12 WENN Abfragen in einer???
Keine neuen Beiträge Excel Formeln: 2 Abfragen in Excel 2 Toni299 699 04. Jan 2006, 13:08
Toni299 2 Abfragen in Excel
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Excel Formeln: Feld leer bei 0, statt Anzeige des Feldwertes 1 Zander-Carve 6936 28. Nov 2005, 13:15
ae Feld leer bei 0, statt Anzeige des Feldwertes
Keine neuen Beiträge Excel Formeln: Wie funktioniert das?? 3 robert_de 619 18. Nov 2005, 16:16
rainberg Wie funktioniert das??
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen