Como leer un archivo TXT con macro





Si habitualmente realizas macros, es seguro que en más de una oportunidad necesitarás leer un archivo txt con macro, muchos programas de bases de datos exportan sus datos a archivos txt, un archivo TXT es un archivo de texto plano o simple, es decir carece de todo formato es una cadena de texto legible por humanos, pero que no contiene formato alguno; pues bien lo que hace el ejemplo que muestro a continuación, es una macro que leer un archivo TXT.

En post que siguientes se muestra como leer un archivo TXT delimitado por coma o punto y coma; macro que lee archivo TXT delimitado por tabulaciones y como leer con macro un archivo TXT delimitados por un ancho fijo de caracteres.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Desde el final del post descarga el ejemplo que permite leer un archivo TXT con macro, se descargará un archivo comprimido que contiene dos archivos, un fichero de Excel con la macro y otro archivo TXT que servirá para que la macro pueda leer el archivo.

La macro abre el archivo TXT y luego hacer un bucle leyendo linea por linea y agregando los datos a las filas de Excel en este caso se agregan en la columna B, en la columna A va agregando el número de lineas con cadenas de texto que hay en el archivo TXT. Para probar la macro una y otra vez se deberán borrar los datos y ejecutar la macro desde el botón para que puedas observar los resultados.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.








Código que se inserta en un módulo




Sub opentxt()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim myfile As Variant, cad As String, fila As Long
ruta = ActiveWorkbook.Path
ChDir ruta
myfile = Application.GetOpenFilename("Archivos Txt (*.txt*), *.txt*")
If VarType(myfile) = vbBoolean Then Exit Sub

Open myfile For Input As #1
fila = 1
Cells.Clear
While Not EOF(1)
Line Input #1, cad
Cells(fila, "A") = fila
Cells(fila, "B") = cad
fila = fila + 1
Wend
Close #1
MsgBox ("Los datos se leyeron con éxito"), vbInformation, "AVISO"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como maximizar formulario Excel al iniciar





Me preguntan en un foro, como maximizar un formulario de Excel al iniciar, este post responde la pregunta como maximizar un formulario de VBA de Excel al iniciar, al maximizarse queda la aplicación de Excel oculta; si requieres minimizar un formulario de Excel sigue el link; en post anteriores se presentaron otras macros que trabajan con formularios como son: como eliminar el botón X o cerrar de un formulario, como eliminar la barra de titulos de los formularios de VBA, como anular o inutilizar el botón cerrar o X de un formulario de Excel, como agregar un botón maximizar y minimizar en la barra de titulos de un formulario de Excel.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

El ejemplo que se puede descargar desde el final del post, permite maximizar un formulario al iniciar, en otras palabras cuando el código de VBA llama o carga el formulario, directamente aparece maximizado.

El ejemplo también incluye en el formulario los botones maximizar y minimizar, ya que de lo contrario no habría otra forma de volver el formulario al estado original, quedando como única alternativa cerrar, para salvar este inconveniente se agregan los botones de maximizar y minimizar para mostrar el formulario maximizado, minimizado o en tamaño original.

El vídeo que sigue muestra una explicación más detallada mostrando el funcionamiento de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo como crear cartas en Word desde Excelbuscar en listbox mientras escribes en textbox, como ingresar solo texto en textboxconectar Excel con Access, libro con url de todas las macros de esta web con buscador incluido y cientos de ejemplos.






Código que se inserta en un formulario




Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const GWL_STYLE As Long = (-16)
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Const maxformvba = 3
Dim hh As Long

Private Sub CommandButton1_Click()
ShowWindow hh, maxformvba
End Sub
Private Sub UserForm_Activate()
ShowWindow hh, maxformvba
End Sub

Private Sub UserForm_Initialize()
    Dim lngMyHandle As Long, lngCurrentStyle As Long, lngNewStyle As Long
    If Application.Version < 9 Then
        lngMyHandle = FindWindow("THUNDERXFRAME", Me.Caption)
    Else
        lngMyHandle = FindWindow("THUNDERDFRAME", Me.Caption)
    End If
    lngCurrentStyle = GetWindowLong(lngMyHandle, GWL_STYLE)
    lngNewStyle = lngCurrentStyle Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
    SetWindowLong lngMyHandle, GWL_STYLE, lngNewStyle
hh = FindWindow(vbNullString, Me.Caption)
End Sub


Código que se inserta en un módulo

Sub muestra()
UserForm1.Show
End Sub




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como agregar boton minimizar maximizar a formulario de Excel





En este post y siguiendo la temática de los últimos post te muestro como agregar un botón minimizar y maximizar a los formularios de Excel, quizás te interese los post relacionados y presentados anteriormente, te invito a darle un vistazo son: macro que abre una serie de libros extrae datos y hace resumenrecorrer todas las hojas del libro y hacer un resumen y macro para anular el botón cerrar o X de los formularios de Exel o VBA.

Antes de seguir recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Normalmente cuando se agrega un formulario de Excel, agrega por defecto el botón cerrar o X, que como su nombre lo dice sirve para cerrar el formulario, pero que sucede si estuviéramos programando un formulario con sus controles y se necesita que el mismo se pueda minimizar y maximizar por que se necesitan leer datos en la hoja de Excel o por cualquier motivo que necesitemos tener el formulario minimizado o maximizado, tal cual viene por defecto en el formulario solo se podrá cerrar ya que es el único botón que trae incorporado.

Con esta macro muestro como además del botón cerrar que trae por defecto el formulario de Excel, como agregar un botón maximizar y otro minimizar a la barra de títulos de los formularios Excel o de VBA, es decir se verá idéntica a una ventana de Windows que tiene un botón minimizar, maximizar y cerrar, el código que se muestra se debe agregar en cada formulario que se necesite los botones.

Te invito a descargar el ejemplo, lo podrás realizar desde el final del post en forma absolutamente gratuita, el código es abierto y se puede usar sin ninguna restricción, pudiendo adaptar a tu macro o proyecto de VBA.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.







Código que se inserta en un formulario




Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const GWL_STYLE As Long = (-16)

Private Sub UserForm_Initialize()
    Dim lngMyHandle As Long, lngCurrentStyle As Long, lngNewStyle As Long
    If Application.Version < 9 Then
        lngMyHandle = FindWindow("THUNDERXFRAME", Me.Caption)
    Else
        lngMyHandle = FindWindow("THUNDERDFRAME", Me.Caption)
    End If
    lngCurrentStyle = GetWindowLong(lngMyHandle, GWL_STYLE)
    lngNewStyle = lngCurrentStyle Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
    SetWindowLong lngMyHandle, GWL_STYLE, lngNewStyle
End Sub

Código que se inserta en un módulo

Sub muestra()
UserForm1.Show
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como anular el boton cerrar o X de los formularios de Excel





En post anteriores se mostró como eliminar el botón cerrar o X de la barra de titulo de los formularios de Excel, como eliminar la barra de titulos de los Formularios de Excel y con ello también el botón X como anular el botón cerrar o X de los formularios de Excel, pero no se elimina la barra de titulo ni el botón cerrar solo se bloquea o anula.
o cerrar, en este post te muestro

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Desde el link del final se puede descargar el ejemplo denominado macro que permite anular el botón cerrar o X de los formularios de Excel, una vez abierto el archivo se puede ejecutar la macro presionando el botón, aparece un formulario, pero si observan tiene el botón cerrar o X de todos los formularios de Excel, pero su ustedes lo presionan, no se cierra el formulario, que es la función que normalmente tiene, ello por la macro o procedimiento que tiene inserto que anula dicho botón cerrar o X del formulario, es preciso tener en cuenta que se debe agregar un botón que permita cerrar el formulario en el mismo formulario, porque sino el usuario no tendrá ninguna opción para cerrar el mismo.   .

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.






Código que se inserta en un módulo




Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
On Error GoTo Fin
If CloseMode <> 1 Then Cancel = True
Fin:
End Sub

Código que se inserta en un módulo

Sub Muestraform()
UserForm1.Show
End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Como eliminar la barra de los formularios y boton X cerrar





En este post presento una macro que permite eliminar la barra de los formularios de Excel a la vez que elimina el botón X del formulario o botón cerrar, anteriormente se presentó un post que muestra una macro que permite eliminar la el botón X o cerrar de los formularios de VBA para Excel, sugiero que también lo revises para ver que es lo que más se adapta a tu macro.

Es preciso recomendar que leas un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

Desde el link del final podrás descargar el archivo con la macro que permite eliminar la barra de formularios y botón X o cerrar del formulario, se debe agregar el código que se especifica debajo en un módulo, ello  permite eliminar la barra de títulos del formulario, luego en cada formulario donde se requiera eliminar la barra de titulo se debe agregar la codificación que se detalla.

El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.








Código que se inserta en un módulo




Public Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long

Sub EliminarTitulo(MeCaption)
Dim lStyle As Long
Dim hMenu As Long
Dim mhWndForm As Long
mhWndForm = FindWindow("ThunderDFrame", MeCaption)
lStyle = GetWindowLong(mhWndForm, -16)
lStyle = lStyle And Not &HC00000
SetWindowLong mhWndForm, -16, lStyle
DrawMenuBar mhWndForm
End Sub

Sub muestraform()
UserForm1.Show
End Sub


Código que se inserta en un formulario
Dim FormX, FormY
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub UserForm_Initialize()
EliminarTitulo Me.Caption
Me.Height = Me.Height - 20

End Sub



Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends      

Las 1000 mejores macros de excel textbox combobox listbox





El titulo es una aspiración a la que se llegará dentro de poco, no obstante te regalo este Libro de Excel que contiene cientos de ejemplos de Macros de Excel que trabajan con Textbox, Combobox, Listbox, Userform, Formularios de Excel, Celdas, Rangos, Filas, Columnas, Hojas de Libro Excel, Archivos de Excel, Carpetas, Ficheros, Explorador de Archivos de Windows, Creación de Archivos PDF, Envio de Mails con Excel, WorksheetFunction, Funciones de Excel, Gráficos de Excel y mucho más.

El libro con las mejores macros de Excel contiene su respectivo link al post y al tutorial en YouTube, donde veras la macro en acción y una explicación visual de lo que realiza cada procedimiento de VBA listado.

Recomiendo leer un excelente libro sobre Excel que te ayudará operar las planillas u hojas de cálculo, haz click acá, si quieres aprender sobre Excel, en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los mejores cursos on line que he visto en internet.

  

En el libro de Excel, que podrás descargar desde el final de este post, encontrarás un buscador integrado a la hoja que te permite buscar por el término que requieras, es decir seleccionas el campo por el que se desea buscar y las palabras buscadas, por ejemplo textbox, combobox, listbox, recorrer filas de libro Excel, bucles, etc., y buscará en el titulo del post de cada macro, que describe en forma breve la acción que realiza el procedimiento de VBA o código contenido en la macro.

Este libro se irá actualizando periódicamente por lo que te recomiendo que descargues la versión actualizada cada cierto período de tiempo, el objetivo es que cuentes con un manual de ayuda a la hora de programar tu macro, automatizar hoja de excel o crear aplicación basada en Excel.

El código en cada ejemplo está abierto sin restricciones, esta disponible para que sea usado por quien lo requiera en forma absolutamente GRATIS, pero ten presente que esta web se sostiene por medio de publicidad y donaciones, si estás en condiciones de hacerla, hazla, es bienvenida; no obstante si no puedes, no importa; las macros son entregadas en forma GRATUITA para todos.

Te solicitó que suscribas a nuestra web desde la parte superior derecha de la página, ingresando tu mail lo podrás hacer y recibirás un aviso en tu correo electrónico cuando se publiquen nuevas macros, que quizás sean de tu interés, será excelente si compartes el post y los vídeos con tus amigos en las redes sociales o das like si fue de tu agrado e instructivo para ti o crees que lo pueda ser para tus contactos.

En nuestro canal de You Tube siempre podrás ver la macro en acción con una explicación en forma visual que ayudará a entender el ejemplo de macro en forma más fácil, solicito te suscribas al canal, mientras más suscriptores haya, será mayor el número de lectores a los cuales les llegará el post y vídeos, beneficiándose con los ejemplos de Macros  de Excel contenidas en el libro, al igual que tu, es por ello solicito te suscribas al canal de YouTube a la Web, compartas los vídeos, post o les des like.

En nuestro canal de YouTube encontrarás ordenada la biblioteca por listas de reproducción, existiendo hasta el momento las siguientes listas:

Tutoriales sobre Excel y VBA
Enviar mail con Excel
Trabajando con hojas
Combobox
Ordenar
Trabajando con archivos
Explorador de Windows
Trabajando celdas filas columnas rangos
Recorrer filas, bucles
Trabajando con imagenes
Imprimir
Conectar Excel con Access
Funciones de VBA
Seleccionar o referenciar celdas
Busqueda de datos
Conectar Excel con Word
Formularios
Hyperlink
Leer archivos TXT
Listbox
WorksheetFunction

 Para ejemplificar lo que encontrarás en YouTube te muestro los siguiente vídeos:





   
 


El código de la macro que permite buscar en el libro mientras se escribe en el textbox incrustado en Excel y contendido en el libro que muestra las mejores macros de excel que trabaja con textbox, cobobox, listbox y otros objetos más; seguidamente se muestra:

Código que se inserta en la hoja de excel o worksheet




Private Sub ComboBox1_GotFocus()
Application.ScreenUpdating = False
Dim celda
On Error Resume Next
Sheets("BD URL").ComboBox1 = Clear
For Each celda In Sheets("BD URL").Range("A4:J4")
Sheets("BD URL").ComboBox1.AddItem celda.Value
Next celda
End Sub

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
    Sheets("BD URL").Range("E2").Value = "*" & TextBox1.Text & IIf(TextBox1.Text = "", "", "*")
    Call Searching
End Sub

Private Sub Searching()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
For Each celda In Sheets("BD URL").Range("A4:J4")
If celda = Sheets("BD URL").ComboBox1 Then
Dire = celda.Address
dire1 = celda.Address(False, False)
wc = Mid(Dire, InStr(Dire, "$") + 1, InStr(2, Dire, "$") - 2)
GoTo ir:
End If
Next
ir:
   If Sheets("BD URL").FilterMode = True Then Sheets("BD URL").ShowAllData
    uf = Sheets("BD URL").Range("E" & Cells.Rows.Count).End(xlUp).Row
    Sheets("BD URL").Range(dire1 & ":" & wc & uf).AdvancedFilter Action:=xlFilterInPlace, _
    CriteriaRange:=Sheets("BD URL").Range("E1:E2"), Unique:=False
End Sub


Código que se inserta en un módulo 

Sub quitafiltro()
If Sheets("BD URL").FilterMode = True Then Sheets("BD URL").ShowAllData

End Sub




Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends