Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei per Button/Klick öffnen

Forumthread: Datei per Button/Klick öffnen

Datei per Button/Klick öffnen
16.03.2006 15:41:35
Bernd
Hallo zusammen,
wie kann ich per VBA eine bestimmte Datei (Besuchsbericht) öffnen, die sich auf einen bestimmten Kunden in meiner Datenbank bezieht ?
Ich habe mal eine Beispieldatei hochgeladen:
https://www.herber.de/bbs/user/31966.xls
In Spalte A stehen die Kundennummern. Die Besuchsberichte sind im XLS-Format abgespeichert; Datei ist gleich Kundennummer, z.B. 12345.xls
Wenn ich nun in einer bestimmten Zeile bin und den Button drücke, soll die entsprechende Datei geöffnet werden.
Geht das irgendwie mit Cells(Selection.Row, 1) ?
Würde mich freuen, wenn jemand einen Lösungsansatz hätte.
Es grüßt der
Bernd
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei per Button/Klick öffnen
ransi
hallo
Anderer Vorschlag:
leg dir einen hyperlink zu den dateien in die zellen.
ransi
AW: Datei per Button/Klick öffnen
16.03.2006 16:43:40
Bernd
Tja, dann müßte ich ja in meiner Kundendatenbank ständig neue Hyperlinks einfügen, weil es ja sein könnte, daß ich morgen einen neuen Kunden bekomme.
Also leider nicht das, was ich suche.
Trotzdem DANKE.
Anzeige
AW: Datei per Button/Klick öffnen
ransi
Hallo
In welchem Verzeichniss liegen denn die Dateien?
Bunt auf der Platte verstreut oder alle in einem ordner ?
ransi
AW: Datei per Button/Klick öffnen
ransi
Hallo
Egal:
versuchs mal..

Private Sub CommandButton1_Click()
Dim pfad
pfad = "C:\Dokumente"
ActiveWorkbook.FollowHyperlink Address:=pfad & "\" & Cells(ActiveCell.Row, 1).Text & ".xls"
End Sub

ransi
Anzeige
AW: Datei per Button/Klick öffnen
17.03.2006 11:20:47
Bernd
Geil, funktioniert.
Aber mit einer einzigen Einschränkung:
Wenn ich in einer Zeile bin, zu der es keine Datei gibt, die aufgerufen werden soll,
erscheint logischerweise eine Fehlermeldung, die wie folgt aussieht:
(Laufzeitfehler '-2147221014 (800401ea)':
Die angegebene Datei konnte nicht geöffnet werden
Wie kann ich es erreichen, daß meinetwegen statt der Fehlermeldung in Zelle M10 steht "Datei existiert nicht" ?
Besser wäre natürlich, daß sich dann eine Vorlage (nennen wir Sie Vorlage.xls) öffnet.
Und dann wäre noch ein Button Klasse, der mir die Datei dann auch abspeichert ;-)
Bekommst Du das hin ? Ich nämlich nicht :-((
Anzeige
AW: Datei per Button/Klick öffnen
ransi
Hallo
Versuchs mal mit diesen ansätzen:


Option Explicit
Private Sub CommandButton1_Click()
Dim pfad
pfad = "C:\HauMichBlau"
If Dir(pfad & "\" & Cells(ActiveCell.Row, 1).Text & ".xls") <> "" Then
    ActiveWorkbook.FollowHyperlink Address:=pfad & "\" & Cells(ActiveCell.Row, 1).Text & ".xls"
Else:
    'msgbox "Datei existiert nicht"
   [M10] = "Datei existiert nicht"
    'Call CommandButton2_Click
End If
End Sub
Private Sub CommandButton2_Click()
Workbooks.Open "C:\HauMichBlau\Vorlage.xls"
Application.Dialogs(xlDialogSaveAs).Show
End Sub


da sollte alles drin sein was du brauchst.
ransi
Anzeige
AW: Datei per Button/Klick öffnen
16.03.2006 18:06:10
Bernd
Die Dateien liegend nirgendwo, da es sie noch nicht gibt :-)
Ich könnte sie also alle in meinetwegen C:/Haumichblau legen.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei per Button in Excel öffnen


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei per Button zu öffnen, kannst Du ein VBA-Skript verwenden. Hier sind die Schritte, um dies zu erreichen:

  1. Öffne die Excel-Datei, in der Du den Button einfügen möchtest.

  2. Wechsle in den Entwicklertools-Bereich. Falls dieser nicht sichtbar ist, aktiviere ihn über die Excel-Optionen.

  3. Füge einen Button hinzu:

    • Gehe zu "Einfügen" und wähle "Schaltfläche (Formsteuerung)".
    • Zeichne die Schaltfläche auf dem Arbeitsblatt.
  4. Erstelle ein VBA-Skript:

    • Rechtsklicke auf den Button und wähle "Makro zuweisen".
    • Klicke auf "Neues Makro" und füge den folgenden Code ein:
    Private Sub CommandButton1_Click()
        Dim pfad As String
        pfad = "C:\Haumichblau" ' Pfad anpassen
        If Dir(pfad & "\" & Cells(ActiveCell.Row, 1).Text & ".xls") <> "" Then
            ActiveWorkbook.FollowHyperlink Address:=pfad & "\" & Cells(ActiveCell.Row, 1).Text & ".xls"
        Else
            [M10] = "Datei existiert nicht"
        End If
    End Sub
  5. Teste den Button, indem Du in eine Zeile mit einer Kundennummer klickst und dann den Button drückst.


Häufige Fehler und Lösungen

  • Fehlermeldung bei fehlender Datei:

    • Wenn die Datei nicht existiert, wird eine Fehlermeldung angezeigt. Um dies zu vermeiden, kannst Du den obigen Code verwenden, der die Meldung in Zelle M10 ausgibt.
  • Falscher Dateipfad:

    • Stelle sicher, dass der angegebene Pfad korrekt ist und die Dateien dort gespeichert sind.

Alternative Methoden

Wenn Du keine Buttons verwenden möchtest, kannst Du auch Hyperlinks in Zellen einfügen. Dies ist jedoch weniger dynamisch, da Du bei neuen Kunden manuell Hyperlinks hinzufügen musst.

Eine andere Möglichkeit ist die Verwendung von Excel-Formeln, um den Pfad zu generieren, aber dies erfordert ein gutes Verständnis von Excel-Funktionen.


Praktische Beispiele

Hier ist ein Beispiel, wie der Code für das Öffnen einer Besuchsbericht Vorlage aussehen könnte:

Private Sub CommandButton2_Click()
    Workbooks.Open "C:\Haumichblau\Vorlage.xls"
    Application.Dialogs(xlDialogSaveAs).Show
End Sub

Dieser Code öffnet eine Vorlage, die Du anpassen und speichern kannst.


Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler in Deinem Code zu vermeiden, indem es sicherstellt, dass alle Variablen deklariert sind.
  • Füge Error-Handling hinzu: Verwende On Error Resume Next, um unerwartete Fehler elegant zu behandeln.
  • Verwende ActiveCell: Dies ermöglicht es Dir, den Code dynamisch für die aktuell ausgewählte Zeile anzupassen.

FAQ: Häufige Fragen

1. Wie kann ich den Button anpassen? Du kannst die Schaltfläche formatieren, indem Du mit der rechten Maustaste darauf klickst und "Formatieren" auswählst.

2. Was, wenn ich mehrere Dateien öffnen möchte? Du kannst eine Schleife in Deinem VBA-Code verwenden, um mehrere Dateien zu öffnen, basierend auf den Werten in den Zellen.

3. Funktioniert das auch in Excel Online? VBA-Skripte sind nicht in Excel Online verfügbar. Du musst die Desktop-Version von Excel verwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige