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, 659 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 ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...