Formato de datos con formatos de número personalizados utilizando VBA en Microsoft Excel
En este artículo, crearemos una macro para formatear los datos dados en el formato de número personalizado deseado usando VBA.
Los datos sin procesar para este ejemplo consisten en datos del equipo de ventas. Los datos brutos contienen nombre, identificación del producto, precio del producto, cantidad vendida y ventas totales.
Antes de ejecutar la macro, uno tiene que especificar el formato de número personalizado en la columna P y el número de columna en el que desea aplicar el formato de número personalizado en la columna Q.
Haga clic en el botón «Formato» para ejecutar la macro «Formateo».
Macro cambiará el formato de los datos proporcionados de acuerdo con el formato de número personalizado especificado.
Explicación lógica
Esta macro elige el formato de número de la columna P y asigna el formato de número a las columnas especificadas por los números de columna en la columna Q.
En esta macro, hemos utilizado dos bucles DO UNTIL para realizar el bucle. First DO UNTIL Loop se usa para hacer un bucle hasta que todos los formatos numéricos se aplican a las columnas. El segundo bucle DO UNTIL se utiliza para encontrar todos los diferentes números de columna especificados y separados por comas (,).
Explicación del código
strCol = Izquierda (txt, InStr (txt, «,») – 1)
El código anterior se usa para separar el número de columna de la cadena que contiene todos los números de columna separados por comas (,).
Columns (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Value El código anterior se usa para aplicar el formato de número personalizado en la columna especificada.
txt = Derecha (txt, Len (txt) – InStr (txt, «,»))
El código anterior se utiliza para separar la cadena omitida después de eliminar el número de columna de la cadena definida.
Siga a continuación el código
Option Explicit Sub Formatting() 'Declaring variables Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String 'Initializing the variables Set wks = Worksheets("Format") intRow = 4 'Looping in 16th column until empty value is found Do Until IsEmpty(wks.Cells(intRow, 16)) 'Assigning the value of custom number format txt = wks.Cells(intRow, 17) 'Looping and finding all the column number separated by comma(,) Do Until InStr(txt, ",") = 0 'Getting the column number strCol = Left(txt, InStr(txt, ",") - 1) 'Assigning the number format Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow, 16).Value 'Truncating the string for finding the next column number after the comma(,) txt = Right(txt, Len(txt) - InStr(txt, ",")) Loop 'Assigning the number format Columns(CInt(txt)).NumberFormat = wks.Cells(intRow, 16).Value intRow = intRow + 1 Loop End Sub
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
[_GoBack] # Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]