kostenloser Webspace werbefrei: lima-city


Daten einfach in Array speichern

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    x*****s

    Hallo Leute,

    ich wollte von euch wissen ob es eine M?glichkeit gibt Daten in einem Array zu speicher, ohne den Indexwert zu kennen.

    z.B.:
    250 Strings, die (ungeordnet) in einer Exeltabelle liegen speichern ohne die zahlen von 1 bis 250 eintippen zu m?ssen.

    MFG
    Xexanos
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. wenn du z.B. eine excel tabelle hast kannst du sie ?ber den Excel Verweis (API) laden oder ?ber direkte datei?ffnung.

    Denn kannst du durch alle strings gehen:

    Wenn die excel datei so aussieht: "abc|broam|123" kannst du es so machen

    dim Array() as string

    st_Array = split(st_Excel,"|")

    dieser fall wird vermutlich jedoch nicht eintreffen.

    Wenn die Excel datei mit der Api ge?ffnet wird kannst du einfach jede zelle auslesen und ins array kopieren.

    Jedoch habe ich deine frage auch nicht ganz verstanden.. :confused:


  4. z.B.:
    250 Strings, die (ungeordnet) in einer Exeltabelle liegen speichern ohne die zahlen von 1 bis 250 eintippen zu m?ssen.

    MFG
    Xexanos


    naja, ich kenn mich mit visual basic zwar nicht aus, aber reicht da nicht ne einfach Z?hlschleife?
  5. Wenn ich die frage richtig verstanden habe - ja:

    dim in_Temp as integer
    dim st_Array(1 to 250) as string
    for in_Temp = 1 to 250
    st_Array(in_Temp) = ob_Excel.item(in_Temp).row(1)
    next in_Temp

    Wie gesagt es kommt drauf an wie seine Excel daten gespeichert sind...

    Beitrag ge?ndert am 10.07.2006 20:03 von gta-us
  6. Autor dieses Themas

    x*****s

    ich meinte das eigendlich so:

    wert(0) = range("AX4")
    wert(1) = range("A5")
    Wert(2) = range("D24")
    Wert(3) = range("V2")
    ...
    Wert(250) = range("A1")

    nur eben ohne das ich die Zahlen von 0 bis 250 eingeben muss
  7. Somit spiegeln AX4 etc die Felder wieder? (AX - 4) ?

    for in_Temp = 1 to 250
    Wert(in_temp) = range(chr(64 + in_Temp - 1) + "0")
    next in_Temp

    Jetzt fehlt noch eine wrapvalue in 64 + in_Temp - 1 welche von asc("A") bis zu asc("Z") geht.

    Wenn du jedoch die API benutzt kannst du die felder einfach mit angabe auslesen:

    ob_Excel.item(in_Temp).row(1)
  8. Autor dieses Themas

    x*****s

    range("AX4") usw. adressieren alle bestimmte zellen in denen eben Werte stehen, nur sind die Werte nicht geordnet, sondern v?llig beliebig in der Tabelle verteilt. Ich hab das jetzt so gel?st und frag mich ob das nicht besser geht:
    I = 0

    Dim Werte(250) As String

    Werte(I) = Range("C7")
    I = I + 1
    Werte(I) = Range("C25")
    I = I + 1
    Werte(I) = Range("C5")
    I = I + 1
    Werte(I) = Range("C11")
    I = I + 1
    Werte(I) = Range("F7")
    I = I + 1
    Werte(I) = Range("F9")
    I = I + 1
    Werte(I) = Range("I5")
    I = I + 1
    Werte(I) = Range("L5")
    I = I + 1
    Werte(I) = Range("L7")
    I = I + 1
    Werte(I) = Range("L9")
    I = I + 1
    Werte(I) = Range("I7")
    I = I + 1
    Werte(I) = Range("I9")
    I = I + 1
    Werte(I) = Range("F19")
    I = I + 1
    Werte(I) = Range("F17")
    I = I + 1
    Werte(I) = Range("C29")
    I = I + 1
    Werte(I) = Range("J15")
    I = I + 1
    Werte(I) = Range("J17")
    I = I + 1
    Werte(I) = Range("J19")
    I = I + 1
    Werte(I) = Range("J21")
    I = I + 1
    Werte(I) = Range("M15")
    I = I + 1
    Werte(I) = Range("M17")
    I = I + 1
    Werte(I) = Range("M19")
    I = I + 1
    Werte(I) = Range("F25")
    I = I + 1
    Werte(I) = Range("C27")
    I = I + 1
    Werte(I) = Range("F27")
    I = I + 1
    Werte(I) = Range("F29")
    I = I + 1
    Werte(I) = Range("F33")
    I = I + 1
    Werte(I) = Range("C35")
    I = I + 1
    Werte(I) = Range("J27")
    I = I + 1
    Werte(I) = Range("J29")
    I = I + 1
    Werte(I) = Range("F37")
    I = I + 1
    Werte(I) = Range("C37")
    I = I + 1
    Werte(I) = Range("C41")
    I = I + 1
    Werte(I) = Range("C39")
    I = I + 1
    Werte(I) = Range("M25")
    I = I + 1
    Werte(I) = Range("M27")
    I = I + 1
    Werte(I) = Range("M29")
    I = I + 1
    Werte(I) = Range("M31")
    I = I + 1
    Werte(I) = Range("M33")
    I = I + 1
    Werte(I) = Range("M35")
    I = I + 1
    usw.
  9. Mir ist leider noch ziemlich unschl?ssig wo du die Felder her hast. Du k?nntest nat?rlich 2 loops machen die ?hnlichen effekt haben

    for in_tempa = 0 to MaxZelle
    for in_tempb = 1 to 24
    if range(chr(in_tempb+65-1) + str(in_Tempa)) <> "" then st_Array(in_tempa) = Range(chr(in_tempb+65-1) + str(in_Tempa))
    next in_tempb
    next in_Tempa
  10. Autor dieses Themas

    x*****s

    die felder sind absolut zuf?llig, das ist ja mein problem.:nosmile:
  11. Aus dem tut: http://www.lima-city.de/tutorials.php?m=show&id=1918

    w?re das:

    in_Temp = 0
    for each Feld in Range("A1:I20")
    if Feld.Value <> "" then
    st_Array(in_Temp) = Feld.value
    in_Temp = in_Temp + 1
    endif
    next
  12. Autor dieses Themas

    x*****s

    ok, das ist gut!!!
    h?tte ich eigendlich auch selbst drauf kommen k?nnen, danke nochmals...

    MFG
    Xexanos
  13. a****7

    250 Speicherpl?tze sind nicht m?glich, ein Array besitzt h?chstens 60 Dimensionen.
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!