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

VBA Textfeld auslesen > Seite öffnen

Forumthread: VBA Textfeld auslesen > Seite öffnen

VBA Textfeld auslesen > Seite öffnen
24.10.2013 22:53:02
Mert
Nabend Leute!
Ich bin derzeit Schüler und in unserer Schule haben wir VBA als Fach.
Ich bin eigentlich gut dabei und wollte Zuhause ein bisschen was ausprobieren.
Ich hab mir bisschen was gebastet.
  • Einen Button erstellt.

  • Ein Textfeld mit dem Namen Tchamp

  • Was ich machen wollte ist, das wenn jemand etwas bestimmtes sowas wie "ebay" in das Textfeld eingibt, dass sein Standardbrowser Ebay öffnet. Wenn das Programm "ebay" nicht findet, z.B. weil "ebay" falsch geschrieben wurde oder es sich einfach nicht in meiner Liste befindet, dann soll eine Fehlermeldung ausgegeben werden. (Msgbox?)
    Mein Problem ist leider nun, dass mein Programm den Inhalt dieser Textbox anscheinend nicht anerkennen will. Er sagt mir, egal was ich eingebe, dass die Seite nicht gefunden wurde.. So wie es eigentlich sein sollte, wenn der Inhalt wirklich nicht gefunden wurde..
    Mein Code sieht bisher so aus:
    
    Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)  _
    Handles Button1.Click
    Dim Champ As String
    Champ = Tchamp.Text
    #If Champ = "ebay" Then
    Process.Start("http://www.ebay.de/")
    #Else
    MsgBox("Seite nicht gefunden!")
    #End If
    End Sub
    End Class
    

    Anzeige

    3
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    das ist aber kein VBA sieht nach VB.NET aus oT.
    25.10.2013 07:21:25
    Tino

    versuch es mal so
    25.10.2013 14:26:49
    Tino
    Hallo,
    ich denke Du hast dann etwas falsch geschrieben
    und der Vergleich ergibt nicht wahr.
    'ebay' muss exakt so im Textfeld stehen.
    Versuch mal so.
    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If Trim(LCase(Tchamp.Text)) = "ebay" Then
                Process.Start ("http://www.ebay.de/")
            Else
                MsgBox ("Seite nicht gefunden!")
            End If
        End Sub
    End Class
    
    oder evtl. auch so
    Public Class Form1
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If InStr(LCase(Tchamp.Text), "ebay") > 0 Then
                Process.Start ("http://www.ebay.de/")
            Else
                MsgBox ("Seite nicht gefunden!")
            End If
        End Sub
    End Class
    
    Gruß Tino

    Anzeige
    AW: VBA Textfeld auslesen > Seite öffnen
    25.10.2013 09:42:22
    Rudi
    Hallo,
    als Ansatz:
    Private Sub CommandButton1_Click()
    Dim objShell As Object
    Set objShell = CreateObject("wscript.shell")
    Select Case LCase(ActiveSheet.Tchamp)
    Case "ebay", "herber"
    objShell.Run Chr(34) & "http://www." & Tchamp & ".de" & Chr(34)
    End Select
    End Sub
    

    Gruß
    Rudi
    Anzeige
    ;
    Anzeige
    Anzeige

    Infobox / Tutorial

    VBA Textfeld auslesen und Webseiten öffnen


    Schritt-für-Schritt-Anleitung

    1. Erstelle ein neues Excel-VBA-Projekt: Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

    2. Füge ein neues Formular hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)" und wähle "Einfügen" > "UserForm".

    3. Füge ein Textfeld und einen Button hinzu: Ziehe ein Textfeld (nennen wir es Tchamp) und einen Button (Button1) auf das Formular.

    4. Füge den VBA-Code hinzu: Klicke doppelt auf den Button und füge den folgenden Code ein:

      Private Sub Button1_Click()
         Dim Champ As String
         Champ = Trim(LCase(Tchamp.Text))
      
         If Champ = "ebay" Then
             Process.Start ("http://www.ebay.de/")
         Else
             MsgBox "Seite nicht gefunden!"
         End If
      End Sub
    5. Teste das Formular: Schließe den VBA-Editor und starte das Formular. Gib "ebay" in das Textfeld ein und klicke auf den Button. Dein Standardbrowser sollte nun die eBay-Seite öffnen.


    Häufige Fehler und Lösungen

    • Fehler: "Seite nicht gefunden!"

      • Lösung: Stelle sicher, dass der Text exakt "ebay" ist. Groß- und Kleinschreibung sowie Leerzeichen sind entscheidend. Verwende Trim und LCase, um sicherzustellen, dass die Eingabe korrekt verarbeitet wird.
    • Problem mit dem Textfeld

      • Lösung: Vergewissere dich, dass das Textfeld korrekt benannt ist (Tchamp) und dass du im richtigen Kontext arbeitest.

    Alternative Methoden

    Du kannst auch die InStr-Funktion verwenden, um flexiblere Eingaben zu ermöglichen. Zum Beispiel:

    If InStr(LCase(Tchamp.Text), "ebay") > 0 Then
        Process.Start ("http://www.ebay.de/")
    Else
        MsgBox "Seite nicht gefunden!"
    End If

    Diese Methode erlaubt es, dass auch Variationen wie "ebay123" erkannt werden.


    Praktische Beispiele

    • VBA Textfeld auslesen für verschiedene Webseiten: Du kannst den Code erweitern, um mehrere Webseiten zu unterstützen:
    Select Case Trim(LCase(Tchamp.Text))
        Case "ebay"
            Process.Start ("http://www.ebay.de/")
        Case "amazon"
            Process.Start ("http://www.amazon.de/")
        Case Else
            MsgBox "Seite nicht gefunden!"
    End Select
    • Fehlermeldung anpassen: Du kannst die Fehlermeldung personalisieren, indem du den nicht gefundenen Begriff mit in die MsgBox einfügst:
    MsgBox Champ & " wurde nicht gefunden!"

    Tipps für Profis

    • Fehlerbehandlung einfügen: Verwende On Error Resume Next, um unerwartete Fehler zu vermeiden, und zeige eine benutzerfreundliche Nachricht an.
    • Eingabeverifizierung: Überlege, eine Eingabeverifizierung einzuführen, um sicherzustellen, dass die Eingabe den erwarteten Kriterien entspricht.

    FAQ: Häufige Fragen

    1. Wie kann ich mehrere Webseiten gleichzeitig auslesen? Du kannst eine Select Case-Anweisung verwenden, um verschiedene Webseiten abhängig von der Eingabe zu öffnen.

    2. Funktioniert dieser Code in allen Excel-Versionen? Ja, dieser Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen, jedoch ist es wichtig, die Benutzeroberfläche für UserForms entsprechend anzupassen.

    3. Was, wenn ich eine andere Programmiersprache verwenden möchte? Du kannst ähnliche Logik auch in anderen Programmiersprachen implementieren, aber der spezifische Code wird unterschiedlich sein.

    Nutze diese Schritte, um dein Projekt zum VBA Textfeld auslesen zu verbessern und Webseiten direkt aus Excel zu öffnen!

    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