mit VB auf Excel zugreiffen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von almheidy.

    mit VB auf Excel zugreiffen

    Hallo Leute, mir wurde hier schon mal Top geholfen, deswegen versuche ich es einfach noch mal.



    Ich habe mir nach und nach ein Programm zusammengebaut welches eine Stückliste erstellt und ausschreibt. Jetzt legt er mir die Daten wie gewünscht als Excel Tabellen ab. Diese müssten aber noch bearbeitet werden (manche Werte sollen gelöscht werden, andere beibehalten).

    Dafür hab ich mir in der Excel Umgebung ein kleines Makro geschrieben, welches ich aber gerne in das Programm einbinden würde. Wie kann ich also ein Makro umschreiben / einarbeiten das ich es über meine vb.net (!?) umgebung starten kann?

    Schön wäre es auch wenn ich die Liste in meinem Programm "einbetten" könnte wäre aber kein muss, hab mir dazu schon diverse Threads angeschaut aber leider nichts brauchbares gefunden. Auch hier im Forum die Suchfunktion wurde genutzt:



    Excel Zugriff mit VB! "Anfänger!"

    [VB 6.0 und älter] Problem bei Zugriff auf Excel mit VB

    [VB 2008] VB oberfläche aber Excel Rechnung



    Ich danke euch!

    Ps.: vb 2010 und excel 2007 :)
    Ich hab mal ein wenig weiter gesucht, hier ist ein ganz schönes Video Tut, wie man alles einrichten kann (kann ja evtl. sein das noch mal jemand anderes danach schaut !?)

    Wie ich dann aber mein Makro schreiben muss um es über das Programm in excel zu starten ?(

    Hier mal der Code:

    Sub Schaltfläche1_KlickenSieAuf()

    Dim i As Long
    With Sheets("Tabelle1")
    For i = .Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
    If Application.IsNumber(Application.Match(.Cells(i, "A"), Sheets("Tabelle2").Columns(1), 0)) Then
    Else
    .Cells(i, "A").EntireRow.Delete
    End If
    Next
    End With


    End Sub
    Kannst Du diese Verarbeitung nicht gleich in VB machen und dann nur noch die fertigen Daten rüberschreiben?
    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!
    Ziel ist es ja möglichst alles in das vb.net Programm zu packen, und möglichst wenig auszulagern.

    Ich hab in dem Programm eine Liste von excel Listen, und möchte dann das der Benutzer später nur ein Knopf drückt,

    und dann das Makro aus dem Programmraus gestartet wird für mehrere Listen.

    almheidy schrieb:

    und dann das Makro aus dem Programmraus gestartet wird
    Wenn Du es aus VB heraus startest, ist es kein Makro mehr. :D
    Wie befüllst Du denn Deine Excel-Tabellen?
    Bereits hier hannst Du Deinen Makro-Code implementieren.
    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!
    das Befüllen übernimmt ein CAD-Programm.

    Das programmierte Programm ermöglicht das Befüllen einer Listbox, da stehen dann mehrere Dateipfade.

    Mit einem Klick werden diese Daten dann nacheinander in einem CAD Programm geöffnet und als Sückliste abgelegt (excel Tab.), da ist aber viel dabei was keiner braucht :P

    Deswegen dann ein "Makro" (oder was es dann auch ist) was ein wenig was löschen soll, und das soll eben als ein Paket zur Verfügung gestellt werden.
    So hab mir dazu jetzt nochmal Gedanken gemacht.

    Hab jetzt eine "Start.xmls" angelegt auf welche das Programm immer zugreifen kann, dann wird aus der erstellten in die "Start" koppiert und dann das Makro aufgerufen.

    Zwar nicht die schönste Lösung aber :whistling: