Saltar al contenido principal

¿Cómo guardar y usar sus macros de VBA en todos los libros de trabajo en Excel?

En algunos casos, es posible que deba usar una macro de VBA varias veces en el futuro. Es posible que guarde de alguna manera el módulo VBA en cualquier documento nuevo entonces estará disponible en todos los libros de trabajo? La respuesta es sí. En este tutorial, presentaremos una manera fácil de lograr su objetivo.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 1

Guarde y use el código VBA en todos los libros de trabajo


Guarde y use el código VBA en todos los libros de trabajo

Por ejemplo, desea utilizar el código VBA para convertir números a palabras en inglés y guarde el módulo VBA en todos los libros de trabajo en caso de que desee utilizar el código VBA en el futuro. Por favor, haga lo siguiente.

1. presione el Alt + F11 claves en Excel, y abre el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic en recuadro > Módulo y pegue la siguiente macro en la ventana del módulo.

Código de VBA: convertir números en palabras

Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function

3. Haga clic en el Guardar en la esquina superior izquierda de la cinta o haga clic en Ctrl + S para abrir el Guardar como ventana.doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 2

4. En el Guardar como ventana, ingrese el nombre del libro en el Nombre de archivo caja. Y seleccione el Complemento de Excel (*.xlam) opción en el Guardar como tipo la lista desplegable.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 3

5. Luego haga clic en el Guardar botón para guardar el libro de trabajo con código VBA como un Complemento de Excel.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 4

6. De vuelta al Excel, cierre el libro de trabajo vacío que se ha guardado como un complemento de Excel.

7. Abra un nuevo libro de trabajo con los datos necesarios para convertir. Ingrese la fórmula = Números a palabras (A2) en la celda B2. los # ¿NOMBRE? se devolverá el valor de error porque el código VBA aún no se ha aplicado en todos los libros de trabajo.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 5

8. Vaya a la Developer pestaña, clic Complementos de Excel existentes Add-ins grupo.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 6

9. los Add-in aparece el cuadro de diálogo. Haga clic en el Explorar del botón.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 7

10. Elija el complemento que acaba de guardar, luego haga clic en el OK del botón.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 8

11. Entonces el Complemento Convertir números en palabras que haya personalizado se inserte y se encienda. Haga clic en el OK para finalizar el ajuste.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 9

12. Ahora, cuando ingresas la fórmula = Números a palabras (A2) en la celda B2 y presione el botón Participar clave, se devolverán las palabras en inglés correspondientes. Arrastre el controlador de autocompletar hacia abajo para obtener todos los resultados.
doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 10

Notas:

Si necesita ejecutar el código a mano, no hay forma de encontrarlo siguiendo los pasos anteriores. Por favor, no te preocupes. Existen dos maneras para ejecutar el código.

  1. Puede agregar código a la Barra de herramientas rápida y ejecute el código cada vez que se haga clic en el botón de código en la barra de herramientas.
    doc guardar-usar-vba-macros-en-todos-los-libros de trabajo 11
  2. También puede pulsar directamente Alt + F11 para abrir el cuadro de operación de código, busque el código y presione F5 correr.

Otras operaciones (artículos)

Un código VBA para enumerar todos los complementos en Excel
En Excel, puede agregar o insertar algunos complementos para tratar mejor los datos. Como sabemos, podemos ir a la ventana Opciones para ver todos los complementos, pero ¿hay alguna forma de enumerar todos los complementos en una hoja? Ahora, en este tutorial, proporciona un código VBA para enumerar todos los complementos en Excel.

¿Cómo ejecutar la macro VBA al abrir o cerrar el libro de trabajo?
En este artículo, le diré cómo ejecutar el código VBA al abrir o cerrar el libro cada vez.

¿Cómo proteger / bloquear el código VBA en Excel?
Al igual que puede usar una contraseña para proteger libros y hojas de trabajo, también puede establecer una contraseña para proteger las macros en Excel.

¿Cómo usar el retardo de tiempo después de ejecutar una macro de VBA en Excel?
En algunos casos, es posible que deba hacer un retraso del temporizador para activar una macro VBA en Excel. Por ejemplo, al hacer clic para ejecutar una macro específica, entrará en vigor después de 10 segundos. Este artículo le mostrará un método para lograrlo.

 


  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y conservación de datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertar rápidamente, Rangos, gráficos e imágenes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Agrupación de tablas dinámicas por número de semana, día de la semana y más ... Mostrar celdas bloqueadas y desbloqueadas por diferentes colores; Resalte las celdas que tienen fórmula / nombre...
pestaña kte 201905
  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior

 

 

Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Thank you very much hundred timessss
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations