Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Application.WorksheetFunction.Search

Forumthread: Application.WorksheetFunction.Search

Application.WorksheetFunction.Search
26.06.2003 10:28:28
david
Hi,

hab gestern ein Makro erstellt, das mir einen Wert plus Datum abspeichert. sieht dann so aus:

wert/26.06.2003

Sub speichernMitDatum()
Dim Zahl
Zahl = Range("e18").Value
Range("e20").Value = Zahl & "/" & Date
End Sub

Dann hat mir panicman dieses hübsche makro gemacht, welches nur den Wert speichert.

Sub speichernOhneDatum()
Dim Wert
Wert = Range("e20").Value
Range("e22").Value = Left(Wert, Application.WorksheetFunction.Search("/", Wert, 1) - 1)
End Sub

Komme noch nicht ganz hinter die Syntax. Problem: Würde sehr gerne auch noch das Datum in Zelle e23 haben. Kann mir da jmd. auf die Sprünge helfen?

vielen Dank und Gruß

David

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Application.WorksheetFunction.Search
26.06.2003 10:42:43
david

habs!!!!!!!!

Anzeige
;
Anzeige

Infobox / Tutorial

Anwendung von Application.WorksheetFunction.Search in VBA


Schritt-für-Schritt-Anleitung

Um die Funktion Application.WorksheetFunction.Search in VBA zu verwenden, befolge diese Schritte:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf VBAProject (DeineDatei.xlsm) und wähle Einfügen > Modul.

  3. Füge den folgenden Code ein:

    Sub speichernOhneDatum()
       Dim Wert As String
       Wert = Range("e20").Value
       Range("e22").Value = Left(Wert, Application.WorksheetFunction.Search("/", Wert, 1) - 1)
    End Sub
  4. Führe das Makro aus: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle speichernOhneDatum und klicke auf Ausführen.


Häufige Fehler und Lösungen

  1. Fehler: "Typen unverträglich"

    • Lösung: Stelle sicher, dass der Zellbereich, auf den du zugreifst (z.B. Range("e20").Value), tatsächlich einen Text oder einen Wert enthält.
  2. Fehler: "Funktion nicht gefunden"

    • Lösung: Vergewissere dich, dass du Application.WorksheetFunction.Search korrekt geschrieben hast. Achte auf die Groß- und Kleinschreibung.

Alternative Methoden

Wenn du nach Alternativen zur WorksheetFunction.Search suchst, kannst du die InStr-Funktion verwenden, um die Position eines bestimmten Zeichens in einem Text zu finden. Hier ein Beispiel:

Sub speichernOhneDatumMitInstr()
    Dim Wert As String
    Dim Position As Integer
    Wert = Range("e20").Value
    Position = InStr(1, Wert, "/")
    If Position > 0 Then
        Range("e22").Value = Left(Wert, Position - 1)
    End If
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, um sowohl den Wert als auch das Datum in verschiedene Zellen zu speichern:

Sub speichernMitDatumUndWert()
    Dim Zahl As String
    Dim Datum As String
    Zahl = Range("e18").Value
    Datum = Date
    Range("e20").Value = Zahl & "/" & Datum

    ' Datum extrahieren
    Dim Wert As String
    Wert = Range("e20").Value
    Range("e22").Value = Left(Wert, Application.WorksheetFunction.Search("/", Wert, 1) - 1)
    Range("e23").Value = Mid(Wert, Application.WorksheetFunction.Search("/", Wert, 1) + 1)
End Sub

Tipps für Profis

  • Nutze die Option Explicit Anweisung am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Experimentiere mit der WorksheetFunction-Objektbibliothek, um andere nützliche Funktionen in deinem VBA-Code zu integrieren.
  • Verwende Debugging-Tools im VBA-Editor, um den Code Schritt für Schritt durchzugehen und Probleme leichter zu identifizieren.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Search und Find in VBA?
Search gibt die Position eines Zeichens in einem Text zurück, während Find eine Methode ist, die oft in Excel verwendet wird, um Zellen zu suchen.

2. Kann ich WorksheetFunction.Search auch für Zahlen verwenden?
WorksheetFunction.Search ist hauptsächlich für Text gedacht. Wenn du mit Zahlen arbeitest, solltest du sicherstellen, dass sie als Text formatiert sind, bevor du die Funktion anwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige