teclado sirve que poner para notebook laptop invertida inverso dell como barra application excel-vba vba excel

excel-vba - sirve - diagonal invertida en cmd



Cómo encontrar el número de ocurrencias de barra oblicua de una cadena (6)

Esta es una solución fácil para VBA Excel Macros.

Function CharCount(str As String, chr As String) As Integer CharCount = Len(str) - Len(Replace(str, chr, "")) End Function

¿Cómo puedo encontrar el número de apariciones del carácter de barra diagonal (/) dentro de una cadena usando una macro de Excel VBA?


Me gusta la respuesta de Santhosh Divakar, así que la amplié para tener en cuenta la posibilidad cuando desee verificar algo más que un solo carácter al dividir el resultado por la longitud de los caracteres de búsqueda, como este:

Function Num_Characters_In_String(Input_String As String, Search_Character As String) As Integer ''Returns the number of times a specified character appears in an input string by replacing them with an empty string '' and comparing the two string lengths. The final result is then divided by the length of the Search_Character to '' provide for multiple Search Characters. Num_Characters_In_String = (Len(Input_String) - Len(Replace(Input_String, Search_Character, ""))) / Len(Search_Character) End Function

Como ejemplo, el resultado de

Num_Characters_In_String("One/Two/Three/Four//", "//")

te da 1, porque solo hay una barra doble al final de la oración.


Por cierto, si te gusta el rendimiento, lo siguiente es un 20% más rápido que usar dividir o reemplazar para determinar el conteo:

Private Function GetCountOfChar( _ ByRef ar_sText As String, _ ByVal a_sChar As String _ ) As Integer Dim l_iIndex As Integer Dim l_iMax As Integer Dim l_iLen As Integer GetCountOfChar = 0 l_iMax = Len(ar_sText) l_iLen = Len(a_sChar) For l_iIndex = 1 To l_iMax If (Mid(ar_sText, l_iIndex, l_iLen) = a_sChar) Then ''found occurrence GetCountOfChar = GetCountOfChar + 1 If (l_iLen > 1) Then l_iIndex = l_iIndex + (l_iLen - 1) ''if matching more than 1 char, need to move more than one char ahead to continue searching End If Next l_iIndex End Function


Pregunta antigua, pero pensé que agregaría a la calidad de la respuesta una respuesta que encontré en un foro de Excel. Al parecer el recuento también se puede encontrar usando.

count =Len(string)-Len(Replace(string,"/",""))

El crédito completo por la respuesta va al autor original en: http://www.ozgrid.com/forum/showthread.php?t=45651


Use la siguiente función, como en count = CountChrInString(yourString, "/") .

'''''' '''''' Returns the count of the specified character in the specified string. '''''' Public Function CountChrInString(Expression As String, Character As String) As Long '' '' ? CountChrInString("a/b/c", "/") '' 2 '' ? CountChrInString("a/b/c", "/") '' 0 '' ? CountChrInString("//////", "/") '' 6 '' ? CountChrInString(" a / b / c ", "/") '' 2 '' ? CountChrInString("a/b/c", " / ") '' 0 '' Dim iResult As Long Dim sParts() As String sParts = Split(Expression, Character) iResult = UBound(sParts, 1) If (iResult = -1) Then iResult = 0 End If CountChrInString = iResult End Function


Function Count(str as string, character as string) as integer Count = UBound(Split(str, character)) End Function