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

Forumthread: Einsatz von Platzhaltern in Excel-VBA möglich?

Einsatz von Platzhaltern in Excel-VBA möglich?
19.10.2019 17:50:14
Platzhaltern
Hallo Leute,
ich will ankommende und abgehende Telefonnummern (werden in einer Telefonanlage gespeichert) in Excel einlesen und weiterverarbeiten.
Das funktioniert auch einwandfrei solange die Auslandsvorwahlnummer bis zu 4 Stellen enthält, z.b. 0033 für Frankreich.
Nun gibt es aber auch viele Vorwahlnummern die bis zu 6 Stellen enthalten, z.B. 001242 für Bahamas.
ich suche eine einfache Möglichkeit diese Nummern über eine Abfrage auszufiltern, wie im nachstehenden Beispiel:
ZelleAktVerkürzt = Left(ActiveCell.Value, 3)
ZelleAkt = Left(ActiveCell.Value, 6)
If ZelleAkt = "0012##" Then '001242 Bahamas
Programmcode
Programmcode
Programmcode
End If
Ist es möglich über Platzhalter verschiedene Nummern auszufiltern wie in vorstehendem Beispiel?
Dabei sollen die Zeichen "##" für beliebige Ziffernfolgen stehen, z. B.: -42, -46, -64, -68, -84 und von dem nachfolgenden Programmcode weiterverarbeitet werden.
das Zeichen "##" eignet sich aber nicht als Platzhalter; ist es überhaupt in Excel -VBA Platzhalter einzusetzen und welches Zeichen müsste das sein?
mfg
reiner
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einsatz von Platzhaltern in Excel-VBA möglich?
19.10.2019 17:57:58
Platzhaltern
Hallo Reiner,
so klappts:
 If ZelleAkt Like "0012##" Then

Gruß
Nepumuk
AW: Einsatz von Platzhaltern in Excel-VBA möglich?
19.10.2019 19:41:27
Platzhaltern
klappt super,
danke Nepumuk
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Einsatz von Platzhaltern in Excel-VBA für Auslandsvorwahlnummern


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.
  2. Erstelle ein neues Modul:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeineArbeitsmappe)“ und wähle „Einfügen“ > „Modul“.
  3. Füge den VBA-Code ein:

    • Kopiere und füge den folgenden Code in das Modul ein, um die Auslandsvorwahlnummern mithilfe von Platzhaltern zu filtern:
    Sub FilterAuslandsvorwahlnummern()
       Dim ZelleAkt As String
       ZelleAkt = ActiveCell.Value
    
       If ZelleAkt Like "0012##" Then ' Beispiel für Bahamas
           ' Hier kannst du den gewünschten Programmcode einfügen
           MsgBox "Nummer gehört zu den Bahamas"
       End If
    End Sub
  4. Aktiviere das Makro:

    • Schließe den VBA-Editor und kehre zu Excel zurück. Wähle eine Zelle mit einer Telefonnummer aus und führe das Makro aus.

Häufige Fehler und Lösungen

  • Fehler: "Typ nicht übereinstimmend"

    • Lösung: Stelle sicher, dass die Zelle, die du analysierst, tatsächlich eine Telefonnummer im richtigen Format enthält.
  • Fehler: "Kein Ergebnis"

    • Lösung: Überprüfe, ob die verwendeten Platzhalter korrekt in der Bedingung verwendet werden. Der Platzhalter # steht in VBA für eine beliebige Ziffer.

Alternative Methoden

Eine alternative Methode zur Verarbeitung von Auslandsvorwahlnummern ist die Verwendung der InStr-Funktion, um gezielt nach bestimmten Zeichenfolgen in den Telefonnummern zu suchen. Hier ein Beispiel:

If InStr(ZelleAkt, "0012") > 0 Then
    ' Hier kannst du den gewünschten Programmcode einfügen
    MsgBox "Nummer gehört zu den Bahamas"
End If

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du Platzhalter in Excel-VBA verwenden kannst:

  1. Filter für mehrere Vorwahlnummern:

    If ZelleAkt Like "0012##" Or ZelleAkt Like "0033##" Then
       ' Programmcode für Bahamas oder Frankreich
    End If
  2. Verwendung einer Funktion zur Validierung:

    Function IstGültigeNummer(num As String) As Boolean
       IstGültigeNummer = num Like "0012##" Or num Like "0033##"
    End Function

Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.
  • Experimentiere mit verschiedenen Platzhaltern wie ? für ein einzelnes Zeichen und * für beliebige Zeichenfolgen.
  • Halte deinen Code modular, indem du häufig verwendete Funktionen in separate Module auslagerst.

FAQ: Häufige Fragen

1. Kann ich Platzhalter auch in Strings verwenden? Ja, du kannst Platzhalter in Strings verwenden, aber beachte, dass die Syntax in VBA spezifisch ist. Verwende Like für Vergleiche mit Platzhaltern.

2. Was ist der Unterschied zwischen # und ? in VBA? Der Platzhalter # steht für eine beliebige Ziffer, während ? für ein beliebiges Zeichen steht. Wähle den Platzhalter entsprechend deiner Anforderungen aus.

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