Páginas
miércoles, 26 de febrero de 2014
VBA Excel: Como abrir todos los archivos de una carpeta y realizar un proceso. Funcion DIR()
Sub iterate()
Dim path As String
Dim filename As String
path = "D:\RubenBK\TEST\"
filename = Dir(path) 'Esta es la clave, la funcion Dir es la que scanea todos los archivos en el directorio.
Do While filename <> ""
Range("a2").End(xlDown).Offset(1, 0) = filename 'va creando una lista en la primera celda libre debako de "a2" y la va llevando con el nombre de los archivos.
Range("a2").End(xlDown).Offset(0, 1) = FileDateTime(path & filename) 'va creando una lista con la fecha de modificacion de los archivos en el directorio
filename = Dir 'no se exactamente que hace esto pero debe ir.
Loop
End Sub
martes, 18 de febrero de 2014
VBA Excel: Como obtener la direccion de una celda
Por ejemplo busco una palabra dentro del rango utilizado de una hoja:
ThisWorkbook.Sheets("Sheet1").UsedRange.Find("TEXTO").Address
Esto devuelve un STRING, por ejemplo "A6"
Si se necesita el numero de fila se escribe (retorna un valor numerico):
ThisWorkbook.Sheets("Sheet1").UsedRange.Find("TEXTO").Row
O el numero de columna:
ThisWorkbook.Sheets("Sheet1").UsedRange.Find("TEXTO").Column
Si solo se tienen el numero de fila y columna y se quiere obtener la direccion en estilo de referencia A1:
Cells(8, 64).Address(xlA1)
lunes, 17 de febrero de 2014
VBA Excel: Como ejecutar macro a una hora especifica.
Primero creas tu macro o procedimieno, en este caso es una macro que "habla"y te dice que actualices tu reporte:
Sub speakup()
Application.Speech.Speak ("hey, update your report, bitch!")
Application.Speech.Speak ("hey, update your report, bitch!")
Application.Speech.Speak ("hey, update your report, bitch!")
MsgBox ("Hey, update your report, BITCH")
End Sub
Sub speakup()
Application.Speech.Speak ("hey, update your report, bitch!")
Application.Speech.Speak ("hey, update your report, bitch!")
Application.Speech.Speak ("hey, update your report, bitch!")
MsgBox ("Hey, update your report, BITCH")
End Sub
Luego creas otra macro para que a cierta hora "llame" a la macro anterior:
Sub reminder()
Application.OnTime TimeValue("15:29:00"), "speakup"
End Sub
Application.OnTime TimeValue("15:29:00"), "speakup"
End Sub
VBA Excel: Aplicar bordes a un rango
Si es borde a todas las celdas utilizadas:
Usedrange.Borders.LineStyle = xlContinuous
Si es borde a un rango especifico
Range("A1:B6").Borders.LineStyle = xlContinuous
Si solo se quiere un marco
Range("A1:B6").Borderaround
Nota: Estoy creando un tutorial para aprender a utilizar VBA en la oficina. La pagina es www.macroreportes.com eventualmente ire agregando mas secciones, por lo que si quieres seguir el curso seria buena idea registrar tu email en la pagina para recibir las notificaciones cuando suba un nuevo post.
VBA: Script para abrir excel y ejecutar una macro.
fuente
Luego de eso vamos a Inicio, todos los programas, accesorios, herramientas de sistema, tareas programadas. Y programamos la ejecucion de este script.
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("C:\Tester.xls", 0, True) 'abre el archivo que contiene la macro.
xlApp.Run "Sample"
xlBook.Close
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
Se pega este texto en notepad y se guarda con la extension VBSjueves, 13 de febrero de 2014
VBA Excel: Funcion para buscar parte de un texto en un libro y devolver un valor adyacente.
Me solicitaron buscar el numero de lista de empaque asociado al numero de factura en un listado. Sin embargo el numero de factura no es unico en cada celda, sino que se encuentra combunado con otros numeros de facturas. No se si con VLOOKUP se podría haber hecho lo mismo, porque el rango a buscar son 3 hojas distintas. El metodo .Find("What", lookat:=xlPart, Matchcase:= False) es apropiado para buscar parte de un texto dentro de una celda.
Option Explicit 'Importantísimo, obliga a declarar todas las variables y ayuda a evitar errores de digitacion con esos nombres.
Function buscar_packinglist(factura As String) 'factura es la variable que contendrá la celda con el valor a buscar
If Not ThisWorkbook.Sheets("Guayaquil").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False) Is Nothing Then
buscar_packinglist = ThisWorkbook.Sheets("Guayaquil").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False).Offset(0, -9).Value
Else
If Not ThisWorkbook.Sheets("Quito").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False) Is Nothing Then
buscar_packinglist = ThisWorkbook.Sheets("Quito").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False).Offset(0, -9).Value
Else
If Not ThisWorkbook.Sheets("Spare Parts").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False) Is Nothing Then
buscar_packinglist = ThisWorkbook.Sheets("Spare Parts").UsedRange.Find(factura, lookat:=xlPart, MatchCase:=False).Offset(0, -8).Value
Else
buscar_packinglist = "PL no encontrado"
End If
End If
End If
End Function
Como crear rigntones para iPhone sin usar aplicaciones.
1. Entrar a itunes
2. Buscar la canción que se quiere convertir a ringtone.
3. Anotar el rango de segundos de la canción que se quieren convertir a tono. (30 segundos por lo general)
4. Dar click en botón derecho sobre la canción y seleccionar "Get Info"
5. Seleccionar la pestaña de opciones
6. Escribir los segundos de inicio y los de final
7.Click Ok
8. Click derecho sobre la canción y seleccionar " Create ACC Version"
9. Buscar el archivo ACC creado, click derecho y borrar.
10. En el mensaje de alerta seleccionar "Keep Files"
11. Buscar el archivo. Por lo general se guarda en Musica>iTunes>iTunes Music en una carpeta con el nombre de la banda. El archivo tiene una extension .m4a asi que hay que hacer click derecho, get info y cambiar la extension a .m4r
12. Una vez cambiado el nombre, hacer click sobre el archivo, se abrir'a en iTunes como tono.
13. Sincronizar el telefono con iTunes. Aqui ya puedes instalar el tono en el celular.
14. Volver a la canción original y dejar el rango de segundos como estaba inicialmente.
Si no quedo claro, aquí hay un video.
2. Buscar la canción que se quiere convertir a ringtone.
3. Anotar el rango de segundos de la canción que se quieren convertir a tono. (30 segundos por lo general)
4. Dar click en botón derecho sobre la canción y seleccionar "Get Info"
5. Seleccionar la pestaña de opciones
6. Escribir los segundos de inicio y los de final
7.Click Ok
8. Click derecho sobre la canción y seleccionar " Create ACC Version"
9. Buscar el archivo ACC creado, click derecho y borrar.
10. En el mensaje de alerta seleccionar "Keep Files"
11. Buscar el archivo. Por lo general se guarda en Musica>iTunes>iTunes Music en una carpeta con el nombre de la banda. El archivo tiene una extension .m4a asi que hay que hacer click derecho, get info y cambiar la extension a .m4r
12. Una vez cambiado el nombre, hacer click sobre el archivo, se abrir'a en iTunes como tono.
13. Sincronizar el telefono con iTunes. Aqui ya puedes instalar el tono en el celular.
14. Volver a la canción original y dejar el rango de segundos como estaba inicialmente.
Si no quedo claro, aquí hay un video.
miércoles, 12 de febrero de 2014
Como sacar el INEN: Consultar los reglamentos técnicos
Primero, buscar si existe algun reglamento técnico para el producto que vaya a importar. Los reglamentos tecnicos vigentes se los descarga desde esta direccion:
http://www.normalizacion.gob.ec/wp-content/uploads/downloads/2014/02/reglamentos-tecnicos.pdf
O haciendo click en la imagen:
Para identificar los organismos encargados de emitir los certificados de conformidad por pais, ver la lista siguiente
VBA Excel: Jerarquia de los objetos
Application
.Workbooks
.Sheets
.Range
Si no se especifica Application o Workbooks o Sheets, VBA toma los libros o la hoja activa como referencia.
Range("A1:B2").Select
Con el objeto ThisWorkbook te aseguras de seleccionar el libro donde está la macro. Con usedrange selecciona todo el rango utilizadoj.
ThisWorkbook.Sheets("Guayaquil").usedrange.Copy
VBA Excel: Copiar datos de celdas desde un libro a otro, en forma de lista.
Sub file_location()
Dim dato1 As String 'Declaro las variables
Dim dato2 As String
Dim dato3 As String
'Ahora grabo en las variables los datos que pienso "copiar" en otro libro.
With ThisWorkbook.Sheets("hoja 1") 'La funcion With es una maravilla
dato1= .Range("c2") 'En lugar de copy paste uso el operador igual, mas eficiente dicen.
dato2= .Range("c3")
dato3 = .Range("c4")
End With
'Ahora con el libro de destino, selecciono los rangos, uso .End(xlDown).Offset(1, 0) para encontrar la primera celda libre e ir "pegando"en lista:
With Workbooks.Open("D:\ElOtroLibro.xlsm").Sheets("Sheet1")
.Range("a1").End(xlDown).Offset(1, 0) = dato1
.Range("b1").End(xlDown).Offset(1, 0) = dato2
.Range("c1").End(xlDown).Offset(1, 0) = dato3
End With
ActiveWorkbook.Save
ActiveWorkbook.Close
'Esto es solo para volver a la hoja y libro desde donde comencé a transferir los datos:
ThisWorkbook.Sheets("hoja 1").Activate
Range("c3").Select
Ahora como buscar un texto y devolver un valor adyacente
Nota: Estoy creando un tutorial para aprender a utilizar VBA en la oficina. La pagina es www.macroreportes.com eventualmente ire agregando mas secciones, por lo que si quieres seguir el curso seria buena idea registrar tu email en la pagina para recibir las notificaciones cuando suba un nuevo post.
martes, 11 de febrero de 2014
VBA Excel: Copiar celdas de una hoja de calculo a otra
Sirve para copiar y pegar datos de una celda a otra en una hoja distinta:
Sub copiar_celdas()
ThisWorkbook.Sheets("guayaquil").Range("c8").Copy Destination:=Sheets("FORMS").Range("d1")
End Sub
'Aunque hay una forma mas eficiente dicen, sin utilizar copy-paste, simplemente el operador "="
Sub copiar_celdas()
Sheets("FORMS").Range("d1") = ThisWorkbook.Sheets("guayaquil").Range("c8")
End Sub
Ahora como copiar rango de un libro a otro.
lunes, 10 de febrero de 2014
Video motivacional para un día Lunes.
Este video fue un comercial transmitido en un SuperBowl hace algunos años. Te hace reconsiderar algunas cosas importantes...
sábado, 1 de febrero de 2014
Fedelbow: Federer le da un codazo a Wawrinka.
Durante el sorteo de la serie Suiza - Serbia. Parece que a Roger no le hizo mucha gracia que Stan sea ahora el suizo numero 1 jaja.
Suscribirse a:
Entradas (Atom)