Array in Excel Tabelle ausgeben

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von tt220.

    Array in Excel Tabelle ausgeben

    Hallo Zusammen.

    Meine Frage:
    Ich habe in einem Visual Basic einige Messwerte in einem Array gesammelt. Die Anzahl der Werte die in einem Array angegeben sind ist begrenzt auf 8 Stück. Diesen Array möchte ich nun in eine Excel Tabelle übertragen. Einfache Variablen in Excel zu übertragen ist kein Problem. Wichtig Ist das ich angeben kann, an welche Stelle die Werte in der Tabell ausgegeben werden. Dazu nutze ich aktuell folgenden Code:

    VB.NET-Quellcode

    1. Dim xls_Appl As Object ' Excel Anwendung
    2. Dim xls_Mappe As Object ' Excel Arbeitsmappe (Datei)
    3. Dim xls_Blatt As Object ' Excel Blatt (Tabelle)
    4. xls_Appl = CreateObject("Excel.Application") ' Excel Instanz bilden
    5. xls_Appl.Visible = True
    6. xls_Mappe = xls_Appl.Workbooks.Open("C:\ExcelNachDGV.xls") ' Tabelle hinzufügen
    7. xls_Blatt = xls_Mappe.ActiveSheet ' Tabelle auswählen
    8. 'Blattkopf erstellen:
    9. xls_Blatt.Cells(4, "F") = auftrag.Text ' Auftragsnummer


    Ich hoffe mir kann jemand weiterhelfen. Ich hab schon alles probiert und nur Fehlermeldungen bekommen. :evil:
    Willkommen im Forum. :thumbup:
    Dein erster Beitrag und schon geschwindelt:

    tt220 schrieb:

    Ich hab schon alles probiert
    Offensichtlich hast Du das richtige noch nicht probiert. :D :D :D
    Da mir allerdings gerade meine Kristallkugel runtergefallen ist, ware es Dir bitte möglich, die Fehlermeldung und die entsprechende Zeile, in der sie auftaucht, mal genau zu spezifizieren?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Also der Code so wie er von mir hier vorgestellt wurde funktioniert ja. Ich gebe in diese Excel Tabelle im Prinzip die Auftragsnummer aus und danach möchte ich den Array ausgeben . Beispielsweise in dem Bereich "B|10" bis "B|18" . Für die Ausgabe eines Arrays fehlt mir hier aber völlig der Ansatz. Ist somit oben in dem Code auch noch nicht vorhanden ;(

    tt220 schrieb:

    und nur Fehlermeldungen bekommen. :evil:
    Welche?
    ------------
    Such mal auf der Startseite:
    Suchergebnisse

    Suchergebnisse 1-30 von insgesamt 113 für »Excel tabelle schreiben«.
    Diese Suchbegriffe wurden hervorgehoben: Excel tabelle schreiben
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Wenn bla ein Array

    VB.NET-Quellcode

    1. Dim bla(8) As String
    ist und du es in Spalte F ab Zeile 5 Schreiben willst:

    VB.NET-Quellcode

    1. For i = 1 To 8: Cells(i + 4, 6).Value = bla(i): Next
    Also ... Du solltest schon mal mit Option Strict On arbeiten.
    xlApp kannste direkt als Excel definieren und nich den sinnlosen Umweg über object gehen.

    VB.NET-Quellcode

    1. Dim xlApp As New Excel.Application

    tt220 schrieb:

    xls_Blatt.Cells(4, "F") = auftrag.Text ' Auftragsnummer

    Also entweder xls_Blatt.Range("F4")
    oder xls_Blatt.cells(4,6)
    un dann entweder so wie Bjöni geschrieben hat, oder:

    VB.NET-Quellcode

    1. dim bla(7) as IntegerOderWasAuchImmer
    2. for i = 1 to bla.count
    3. xls_Blatt.range("F4").offset(i,0).value = bla(i)
    4. next i
    Also kann sein das ich mich falsch ausgedrückt habe. Ich nehme mir den Array bla(1). In diesem Array stehen die Werte:
    151
    241
    255

    Diese
    im Array(1) befindlichen Werte hätte ich gerne in der Spalte I17 . Also
    was ich meine ist, das der Arraybereich konstant ist und nicht Variable
    wie Ihr das in euren Beispielen hier gezeigt habt wie zb. bla(i) . Mich
    Interessiert eigentlich nur, das ich mir eine feste Spalte auswähle und
    dort alle in der Array bla(1) befindlichen Werte ausgeben möchte.
    Zeilenweise natürlich.
    Wäre gut wenn Ihr da eine passende Lösung habt.