Saber cuantas veces aparece una letra

Pedro
24 de Abril del 2004
Necesito saber cuantas veces aparece una letra en una cadena , como puedo hacer para saberlo?
Por ejemplo:
Cadena = "Hola Mundo"
Letra O aparece 2 veces


^Neo^
24 de Abril del 2004
InStr([inicio, ]cadena1, cadena2[, comparaci贸n])

te devuelve el n煤mero de veces que aparece la letra. En cadena1 metes la cadena en la que quieres buscar, por ejemplo "Hola Mundo" o text1.text. En cadena2 metes la subcadena a buscar (uno o m谩s caracteres). Por ejemplo "o", "do", "Ho". Inicio lo usas s贸lo si quieres indicar en que posici贸n de la cadena comenzar a buscar. comparaci贸n puede ser binaria (0) o de texto (1). Espero que esto te haya ayudado. Suerte.

Jos?
24 de Abril del 2004
No no, lo que te devuelve es la primera posisi贸n de cadena2 dentro de la cadena1. qu茅 confusi贸n! Puedes usarlo introdusiendo la posisi贸n en que la encontr贸 cada vez como posisi贸n de inissio, y as铆 hasta que no la encuentre m谩s veses (instr devuelve 0), tonses con esee bucle sabes las veses que la encontr贸 :P Pero la verd谩 es que debe haber una funsi贸n para eso ¿no? Aunque yo he mirado en el examinador de objetos y no la he encontrado. adiooooosssssss

en?
24 de Abril del 2004
no s茅 si hay alguna funci贸n propia (creo que no), pero puedes probar con un For o bi茅n con Split:

Dim Cont As Long
Dim nVeces As Long

For Cont = 1 to Len(Cadena)
If Mid(Cadena, Cont, 1) = Letra Then nVeces=nVeces+1
Next
MsgBox "La letra " & Letra & " ha salido " & nVeces & " veces"


Con Split ser铆a:

Dim Corte() As String

Corte=Split(Cadena, Letra)
MsgBox "La letra " & Letra & " ha salido " & UBound(Corte) & " veces"



Saludos.