Red de conocimiento informático - Problemas con los teléfonos móviles - VBA separa cadenas que contienen números con comas.

VBA separa cadenas que contienen números con comas.

1. Seleccione "Herramientas-Referencia" en el entorno de edición de VBA para abrir el cuadro de diálogo Agregar referencia de proyecto, busque y marque "Expresión regular de Microsoft VBScript*". * "En la lista (los dos últimos números de versión no importan) y confirme;

2. Consulte el siguiente código (SplitTextWithComma es una función de segmentación real, que pasa una cadena y devuelve la cadena segmentada array; TestSplitFunction se utiliza para probar el efecto de la función de división, y el resultado de la división se imprimirá en la ventana inmediata):

Opción explícita

Sub TestSplitFunction()

Const strSourceText = "A,B,"12,345,678",C,"34,678""

Atenuar oSplittedItems como una colección

Atenuar rayas

p>

set oSplittedItems = SplitTextWithComma(strSourceText)

Para cada strItem en oSplittedItems

Depurar el sistema de impresión

Luego

Finalizar conector

Función SplitTextWithComma(strSourceText As String) como un conjunto

Atenuar oRegExp como una nueva expresión regular

Atenuar oMatch como coincidencia

Atenuar oMatches Como MatchCollection

Dim oSubMatch Como cadena

Como nueva serie

oRegExp global = True

oRegExp patrón = "([^, ""]+)|"([^""]+]" "

Establecer oMatches = oRegExp.Execute(strSourceText)

Para oMatches para cada oMatch

si oMatch.submatch(1)> entonces déjelo vacío

oMatch(1)

Otro

oResult.Agregar valor de oMatch

Finalizar si...

Entonces

Establecer SplitTextWithComma = oResult

Finalizar función