Wert aus Excel in Textbox übernehmen

  • VB.NET

Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von tulla.

    Wert aus Excel in Textbox übernehmen

    Hallo,

    vielleicht bin ich hier total falsch, aber ich stelle einfach mal meine Frage in der Hoffnung eine freundliche und kompetente Antwort zu erhalten.

    Habe mit VB 2010 eine Form erstellt, auf der sich eine Textbox befindet. Nennen wir sie einfach "Textbox1".
    Dazu existiert eine Excelmappe mit dem Namen "TestExcel" und ein dortiges Tabellenblatt namens "Tabelle1".
    In der Zelle B4 dieses Tabellenblattes "Tabelle1" befindet sich der Wert "Andy".
    Mein Problem; wie bekomme ich den "Andy" in die Textbox1?
    Kann mir jemand auf die Sprünge helfen?
    Schon jetzt von mir ein herzliches Dankeschön an Euch. :)
    Excel mit VB verbinden beim starten...
    sprich in der Anwendung die Verbindung erstellen
    ganz oben im Programm dann den Verweis importieren

    VB.NET-Quellcode

    1. imports microsoft.office

    eine Instanz von Excel erzeugen

    VB.NET-Quellcode

    1. dim xlApp as new Excel.Application

    eine Instanz deiner Datei öffnen

    VB.NET-Quellcode

    1. dim xlWB as Excel.Workbook = xlApp.worbooks.open("derpfad")

    Tabelleblatt zuweisen

    VB.NET-Quellcode

    1. dim xlBlatt = directcast(xlWB.worksheets("deinblatt",Excel.worksheet)

    un dann...

    VB.NET-Quellcode

    1. textbox1.text = xlblatt.range("A2").value.tostring

    achtung.. nur Vorgehensweise keine exakter Code
    Hallo zusammen,

    ich konnte aus beruflichen Gründen länger nicht programmieren und war deshalb auch längere Zeit nicht mehr hier online :(
    Nun habe ich wieder Zeit und bekam gestern auch einen kleinen "Auftrag", der mir zur Übung dienen soll. Ich habe schon vieles gegoogelt und landete oft hier im Forum, aber wirklich voran kam ich damit nicht.
    Mein erster Erfolg war, dass Excel sich mit der festgelegten Tabelle öffnete, wenn ich einen Button anklicke.
    Ziel ist allerdings, dass ich den Inhalt einer bestimmten Zelle in einem Label ausgebe. Weitere Ziele sind dann bestimmte Dateien umzubennenen und zwar mit den Werten der Zellen. Aber erstmal möchte ich Excel auslesen, den Rest fummel ich mir zurecht oder frage dann nochmal.

    Mein Ansatz bisher:

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class Form1
    3. Private Sub btn_Einlesen_Click(sender As Object, e As EventArgs) Handles btn_Einlesen.Click
    4. Dim objExcel
    5. objExcel = CreateObject("Excel.Application")
    6. Dim objWorkbook
    7. objWorkbook = objExcel.workbooks.open("C:\VBProgpool\Datenquelle.xlsx")
    8. Dim ExcelBlatt = DirectCast(objWorkbook.worksheets("Tabelle1", objexcel))
    9. lbl_Ziel.Text = ExcelBlatt.range("A2").value.tostring
    10. End Sub
    11. End Class


    Kann mir jemand einen, oder einige, Denkanstoß/Denkanstöße geben? ?(

    Gruß,
    Ryke
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne
    Danke für die Antwort! :)

    ich habe vergessen zu erwähnen, dass ich mit VB 2012 arbeite und das scheint wichtig zu sein, weil ich mit

    VB.NET-Quellcode

    1. Imports Microsoft.Office
    nicht voran komme. Der scheint das nicht zu (er)kennen, stattdessen unterstreicht er das grün.

    Brauche ich noch irgendein Plugin für Office?
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne
    Ohne die Imports meckert er nicht rum, dass etwas falsch ist oder fehlt, aber mein Ziel erreiche ich damit trotzdem nicht, da ich keine Ahnung habe, wie ich meine Tabelle mit meinem Programm verbinde.

    Ich kann mir denken, dass ich erstmal eine Art Verbindung aufbauen muss, damit das Programm weiß,um welche Tabelle es geht. Dann muss ich irgendwie sagen, welches Arbeitsblatt und welche Zelle es dort ist und da hänge ich grad. ?(

    EDIT: Er meckert nicht rum, dass bei den Imports etwas falsch ist oder fehlt, der Rest vom Code wird gar nicht erst kompiliert.
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ryke“ ()

    Hab ich schon versucht, weiter als "Imports Microsoft." komm ich nicht. Office erscheint nicht in den Vorschlägen und Excel ebenfalls nicht. Ich habe auch schon "Imports Office." und ähnliches versucht, geht auch nicht.
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne
    Ahhhh, das hatte ich zwar gelesen, wusste aber nicht wie man die einfügt. Jetzt hab ichs geschafft und Imports microsoft.office.interlop funktioniert jetzt auch :thumbsup:
    Danke euch!
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne
    Deine Antworten waren für mich auch hilfreich @tulla :) Ich musste erstmal den Hinweis von VB1963 umsetzen und dann konnte ich mit deinen Imports Befehlen auch was anfangen ;)

    Jetzt frage ich mich allerdings grad, wieso mir mein VB sagt "Option Strict lässt spätes Binden nicht zu".

    VB.NET-Quellcode

    1. Imports System.IO
    2. Imports Microsoft.Office.Interop
    3. Imports Microsoft.Office.Interop.Excel
    4. Public Class Form1
    5. Private Sub btn_Einlesen_Click(sender As Object, e As EventArgs) Handles btn_Einlesen.Click
    6. Dim ExcelDateiName As String = "C:\VBProgpool\Datenquelle.xlsx"
    7. Dim Excel As Object
    8. Excel.Application.Workbooks.Open(ExcelDateiName) 'Diese Zeile wird als Fehlerhaft bemängelt
    9. Excel = CreateObject("excel.application")
    10. End Sub
    11. End Class
    Eine Pizza auf einer Pizza sind 2 Pizzen

    Eine Lasagne auf einer Lasagne ergibt 1 große Lasagne

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ryke“ ()