Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

In einer Textzeile (String) die Anzahl eines vorgekommenen Buchstaben zählen

Frage Entwicklung VB for Applications

Mitglied: windelterrorist

windelterrorist (Level 1) - Jetzt verbinden

29.01.2015, aktualisiert 11.12.2015, 699 Aufrufe, 5 Kommentare

Hallo!

Ich bin noch neu im Bereich VBA und bin mir deshalb noch etwas unsicher in dieser Programmiersprache.

Würde gerne von euch wissen, wie ich beispielsweise die Anzahl "e" in einer Textzeile zählen kann.


Grüsse Michael
Mitglied: colinardo
29.01.2015, aktualisiert um 11:57 Uhr
Hallo Michael,
z.B. so
01.
Dim intCount, strText, strBuchstabe,i 
02.
intCount = 0 
03.
strBuchstabe = "e"    ' case sensitive 
04.
strText = "Hallo windelterrorist" 
05.
For i = 1 To Len(strText) 
06.
	If Mid(strText,i,1) = strBuchstabe Then 
07.
		intCount = intCount + 1 
08.
	End If 
09.
Next 
10.
MsgBox "Der Buchstabe " & strBuchstabe & " wurde " & intCount & " mal gezählt."
Grüße Uwe
Bitte warten ..
Mitglied: windelterrorist
29.01.2015 um 11:47 Uhr
Danke viel mals für deine Antwort, Uwe.

Das hat soweit eigentlich prima funktioniert. Könnte man auch eine Zeile in eine InputBox eingeben und danach werden die Zeichen des eingegebenen Strings der InputBox gezählt? Wenn ja, wie würde es dann aussehen?

Wenn ich Option Explicit als erste Zeile verwende, dann kommt immer die Meldung: Fehler beim kompilieren, Variabel nicht definiert. Was mache ich falsch?
Habe auch nocheinen Sub übung1() mit End Sub hinzugefügt.
Bitte warten ..
Mitglied: colinardo
LÖSUNG 29.01.2015, aktualisiert 11.12.2015
Zitat von windelterrorist:
Das hat soweit eigentlich prima funktioniert. Könnte man auch eine Zeile in eine InputBox eingeben und danach werden die
Zeichen des eingegebenen Strings der InputBox gezählt? Wenn ja, wie würde es dann aussehen?
Klar:
01.
Option Explicit 
02.
Dim intCount, strText, strBuchstabe, i 
03.
strBuchstabe = "e"    ' case sensitive  
04.
strText = InputBox("Bitte geben Sie Ihren Text ein","Eingabe") 
05.
For i = 1 To Len(strText) 
06.
	If Mid(strText,i,1) = strBuchstabe Then 
07.
		intCount = intCount + 1 
08.
	End If 
09.
Next 
10.
MsgBox "Der Buchstabe " & strBuchstabe & " wurde " & intCount & " mal gezählt."
Wenn ich Option Explicit als erste Zeile verwende, dann kommt immer die Meldung: Fehler beim kompilieren, Variabel nicht
definiert. Was mache ich falsch?
das i war nicht deklariert, hatte ich vergessen
Option Explicit bedeutet ja das man alle verwendeten Variablen vorher mit DIM deklarieren muss. Ist das nicht der Fall wird ein Fehler ausgeworfen.

Grüße Uwe
Bitte warten ..
Mitglied: windelterrorist
29.01.2015 um 12:01 Uhr
Klasse es funktioniert danke viel mals für deine Mühe, Uwe!

Grüsse Michael
Bitte warten ..
Mitglied: miniversum
29.01.2015, aktualisiert um 12:46 Uhr
Hallo,

nur als Ergänzung eine etwas kürzere Variante:
01.
Option Explicit 
02.
Dim strText, strBuchstabe 
03.
strBuchstabe = "e"    ' case sensitive  
04.
strText = InputBox("Bitte geben Sie Ihren Text ein","Eingabe") 
05.
intCount = Len(strText) - Len(Replace(strText, strBuchstabe, "")) 
06.
MsgBox "Der Buchstabe " & strBuchstabe & " wurde " & intCount & " mal gezählt."
Gruß
...
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst Anzahl der Buchstaben in einem String Element Array C++ (3)

Frage von Protected zum Thema C und C ...

Microsoft Office
gelöst Excel Formeln - Zählen der Anzahl eindeutiger Zellwerte mit einer Nebenbedingung (4)

Frage von Booster07 zum Thema Microsoft Office ...

Datenbanken
gelöst SQL-Abfrage - Anzahl der Wechsel zählen (15)

Frage von Cire48 zum Thema Datenbanken ...

Linux
gelöst Umlaute zählen - Bash-Script (5)

Frage von plutowitsch zum Thema Linux ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Firewall
Richtige Grundeinstellungen der Pfsense für mein Netzwerk (12)

Frage von Spitzbube zum Thema Firewall ...

Switche und Hubs
gelöst Cisco 2960x Stacking über mehrere Etagen (12)

Frage von b3scher zum Thema Switche und Hubs ...