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

VBA - Groß-Kleinschreibung ignorieren

Forumthread: VBA - Groß-Kleinschreibung ignorieren

VBA - Groß-Kleinschreibung ignorieren
26.04.2007 16:17:00
Ingo
Hallo allerseits,
ich soll ein paar Tabellen auswerten, in denen leider die Eingaben
nach keinen festen Regeln vorgenommen wurden.
z.B. wird je nach pers. Vorliebe groß oder klein geschrieben.
Momentan frage ich immer beide Varianten ab...
.Cells(x + 2, y + 4) = "G" Or .Cells(x + 2, y + 4) = "g"
Geht das evtl. einfacher ?
(Ohne die Eingaben vorher zu vereinheitlichen ;-))
Danke und Gruß aus dem sonnigen Garten
Ingo

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Groß-Kleinschreibung ignorieren
26.04.2007 16:37:54
Matthias
Hi,
Beispiel für gasamte Spalte C !

Sub zaehlen()
Dim x, i
x = 0
For i = 1 To 65536
If Cells(i, 3) = LCase("G") Or Cells(i, 3) = UCase("g") Then x = x + 1
Next
MsgBox x
End Sub


Userbild
Gruß Matthias

Anzeige
AW: VBA - Groß-Kleinschreibung ignorieren
26.04.2007 17:01:19
Matthias
Hi,
If Cells(i, 3) = LCase("G") Or Cells(i, 3) = UCase("g") Then x = x + 1
war das ernst gemeint? ;-)
würde ich so machen:

UCase(.Cells(x + 2, y + 4)) = "G"


Gruß Matthias

AW: VBA - Groß-Kleinschreibung ignorieren
26.04.2007 17:59:00
Matthias
Ja war ernst gemeint ;-)
Hatte es vorher so:
If LCase(Cells(i, 3)) = Range("A1") Or UCase(Cells(i, 3)) = Range("A1") Then x = x + 1
So brauche ich nur den Wert in A1 schreiben. Habe dann Range durch "G" und "g" ersetzt.
Dauert zwar etwas länger aber es gibt keinen Fehler!
Setzt man nämlich bei meinem Beispiel
If UCase(Cells(i, 3)) = "G" Then x = x + 1 ein "g" ein,
gibt es einen falschen Wert zurück Ergebnis X=0
Das wollte ich von Anfang an vermeiden.
Aber im Grunde hast Du schon recht
Der Code If UCase(Cells(i, 3)) = "G" Then x = x + 1 ist kürzer und schneller ;-)
Gruß Matthias

Anzeige
AW: VBA - Groß-Kleinschreibung ignorieren
26.04.2007 22:27:09
Ingo
Perfekt, vielen Dank !
Dank natürlich auch dem Namensvetter
Ingo

verrutscht...
26.04.2007 22:28:54
Ingo
Perfekt fand ich jetzt UCase(.Cells(x + 2, y + 4)) = "G" ;-))
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Groß- und Kleinschreibung in VBA ignorieren


Schritt-für-Schritt-Anleitung

Um in Excel VBA die Groß- und Kleinschreibung zu ignorieren, kannst du die Funktionen LCase und UCase verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf „VBAProject“ > Einfügen > Modul).

  3. Gib den folgenden Code ein:

    Sub zaehlen()
       Dim x As Long, i As Long
       x = 0
       For i = 1 To 65536
           If LCase(Cells(i, 3).Value) = "g" Then
               x = x + 1
           End If
       Next i
       MsgBox x
    End Sub

    Dieser Code zählt alle Zellen in Spalte C, die entweder "G" oder "g" enthalten.

  4. Schließe den VBA-Editor und führe das Makro aus.


Häufige Fehler und Lösungen

Ein häufiges Problem ist, dass die Zählung nicht korrekt ist, wenn du nur If Cells(i, 3) = "G" Then verwendest. Hier sind einige typische Fehler und deren Lösungen:

  • Problem: Falsche Ergebnisse bei gemischter Groß- und Kleinschreibung.

    • Lösung: Verwende UCase oder LCase, um die Werte vor dem Vergleich zu vereinheitlichen:
    If UCase(Cells(i, 3).Value) = "G" Then
  • Problem: Laufzeitfehler.

    • Lösung: Stelle sicher, dass die Zellen, die du prüfst, tatsächlich Werte enthalten und nicht leer sind.

Alternative Methoden

Eine alternative Methode, um die Groß- und Kleinschreibung in Excel zu ignorieren, ist die Verwendung von InStr, um zu prüfen, ob ein Zeichen in einer Zelle vorhanden ist, ohne die Groß- und Kleinschreibung zu berücksichtigen:

If InStr(1, Cells(i, 3).Value, "g", vbTextCompare) > 0 Then
    x = x + 1
End If

Diese Methode kann besonders nützlich sein, wenn du nach Teilstrings suchst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Groß- und Kleinschreibung in verschiedenen Szenarien ignorieren kannst:

  1. Zählen von Zellen in einer bestimmten Spalte:

    Sub zaehlen()
       Dim x As Long, i As Long
       x = 0
       For i = 1 To 65536
           If UCase(Cells(i, 1).Value) = "G" Then
               x = x + 1
           End If
       Next i
       MsgBox "Anzahl: " & x
    End Sub
  2. Vergleich von zwei Zellen:

    If UCase(Cells(1, 1).Value) = UCase(Cells(1, 2).Value) Then
       MsgBox "Die Werte sind identisch, unabhängig von der Schreibweise."
    End If

Tipps für Profis

  • Verwende Konstanten: Um Fehler bei der Eingabe zu vermeiden, definiere Konstanten für deine Vergleichswerte.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um Laufzeitfehler zu vermeiden und den Code robuster zu gestalten.

  • Schleifen optimieren: Wenn du nur einen Bereich prüfen musst, beschränke die Schleife auf die tatsächlich genutzten Zellen, um die Performance zu verbessern.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine Zählung korrekt ist?
Achte darauf, die richtigen Funktionen (LCase oder UCase) zu verwenden, um die Eingaben zu standardisieren.

2. Was ist der Unterschied zwischen UCase und LCase?
UCase wandelt einen String in Großbuchstaben um, während LCase ihn in Kleinbuchstaben umwandelt. Beide können verwendet werden, um Vergleiche unabhängig von der Schreibweise durchzuführen.

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