Professional Documents
Culture Documents
r
r
i
b
a
Segundo, puede utilizar el siguiente codigo si el area a restringir sera la misma para todas
las hojas:
No debe colocarlo en ThisWorkBook sino en cada uno de los elementos que aparecen
arriba de ste: Hoja1 (Hoja1), Hoja2 (Hoja2), etc.
Por cada hoja que exista se deben colocar la palabra Case seguida del nombre de la hoja
entre comillas. En mi ejemplo estoy suponiendo que el libro contiene tres hojas cada una
de las cuales se llama P1, P2 yP3.
Explicar hoy una sencilla macro que nos permite trabajar sobre libros de trabajo en Excel
cerrados, pero de los que necesitamos copiar parte de su contenido.
Para ello emplearemos el mtodo Open del objeto Workbooks: WorkBooks.Open; ojo no
confundir con otro objeto que es Workbook.
De igual forma para cerrar un libro podemos emplear el mtodo Close del
objeto Workbooks:WorkBooks.Close.
Estos dos mtodos son la esencia de nuestra futura macro. Macro de Excel que nos permitir
abrir un libro cerrado desde nuestro fichero de trabajo, para seleccionar un rango de celdas,
pegarlo en nuestro destino y finalmente cerrarlo.
Supongamos dos ficheros, uno principal (Principal.xlsm) donde pegaremos el contenido del
segundo fichero origen (Origen.xlsx). Lgicamente el 'Principal' tiene una extensin .xlsm por que
contiene el cdigo de nuestra macro.
Veamos nuestros ficheros de trabajo. El libro 'Origen.xlsx' en su hoja 'Datos' contiene un listado
decursos de Excel:
Por otro lado queremos pegar los datos existentes de esos cursos de Excel en la hoja 'Resumen'
del libro 'Principal.xlsm', pero slo copiaremos los datos de la tabla excluyendo la cabecera de
rtulos, ya que ese dato lo tenemos en nuestro destino.
Adems, para futuros copiados y pegados, la celda destino de nuestro pegado debera ser la
primera sin utilizar; por ejemplo, en este primer caso, la primera celda o fila sin utilizar es la que
est debajo de la cabecera, esto es celda A2, pero en la siguiente sera la celda A22.
1. Sub CompletarLibro()
5. ruta = "E:\excelforo\"
6. fichero1 = "Origen.xlsx"
13. Worksheets("Datos").Activate
16. 'con este cdigo nicamente copiamos la tabla excepto la primera fila
19. Destination:=Workbooks("Principal.xlsm").Sheets("Resumen").Range(celdadestino.Addres
s)
22. 'cerramos fichero origen con el mtodo .Close, sin guardar cambios (nos aseguramos...)
24.
Podemos probar nuestra macro de Excel. Para ello cerramos el libor 'Origen.xlsx' y ejecutamos la
macro 'CompletarLibro' desde 'Principla.xlsm'. Con ello conseguimos lo esperado, hemos
seleccionado del libro 'Origen.xlsx' todas las filas menos la cabecera de la tabla de Cursos y se ha
pegado en el libro 'Principal.xlsm' a partir de la primera celda libre:
CERRAR UN LIBRO DE EXCEL CON VBA
Sub CerrarLibro1()
Dim TestWorkbook As Workbook
Set TestWorkbook = Nothing
On Error Resume Next
Set TestWorkbook = Workbooks("Libro1.xlsx")
On Error GoTo 0
If TestWorkbook Is Nothing Then
MsgBox "El archivo no estaba abierto"
Else
Workbooks("Libro1.xlsx").Close
End If
End Sub
2) Cierra el libro de Excel que esta activo en este momento (pregunta si guarda los
cambios).
Sub CerrarLibroActivo()
ActiveWorkbook.Close
End sub
3) Cierra el libro de Excel que esta activo en este momento y guarda los cambios.
Sub CerrarYGuardar()
ActiveWorkbook.Close savechanges:=True
End Sub
Sub AbrirLibro1MismaRuta()
Dim TestWorkbook As Workbook
On Error GoTo 0
End If
End sub
Sub AbrirLibro1RutaConcreta()
On Error GoTo 0
End If
End sub
6) Abrir cualquier libro de Excel (se abre el cuadro de dilogo "Abrir
archivo" para elegirlo).
Sub AbrirArchivo()
Application.Dialogs(xlDialogOpen).Show
End Sub
Sub GuardarComo()
ActiveWorkbook.Save
Application.Dialogs(xlDialogSaveAs).Show
End sub
Aadir o Eliminar Elementos de un ListBox
16/06/2012 by Fernando Santos | 0 comments
ultimaFila = Columns(A:A).Range(A65000).End(xlUp).Row
End If
Next
Sheets(Inicio).Select
End Sub
Sub BuscarUltimaFila()
End Sub
Sub BuscarUltimaFila()
Dim n As Long
countult = Cells(Rows.Count, 1).End(xlUp).Row
MsgBox countult
Cells(Rows.Count, 1).End(xlUp).Select
End Sub
Como podemos observar, en vez de .Row , le ponemos .Select
Sub BuscarUltimaFila()
Dim n As Long
countult = Cells(Rows.Count, 1).End(xlUp).Offset(1,0).Row
MsgBox countult
Cells(Rows.Count, 1).End(xlUp).Offset(1,0).Select
End Sub
Range(A2).Select
fila = Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To fila
Dim nota As Integer
Dim curso, fecha, dia, aula As String
objselection.Font.Bold = True
objselection.TypeText Comunicado Promedio De Curso
Call espacios(objselection, 1)
objselection.TypeText COMUNICADO DE FACULTAD
objselection.Font.Bold = False
Call espacios(objselection, 1)
objselection.TypeText El promedio del examen del curso de & curso &
realizado el dia & dia & & fecha & en el aula & aula
objselection.Font.Bold = True
objselection.TypeText fue de & nota
Call espacios(objselection, 10)
objselection.TypeText Lima a fecha & Date & .
End Sub
ANTES:
DESPUES: (Se ha eliminado una pelicula y se ha puesto otra)
Elaborado por: Juan Carlos Castillo
Funciones en VBA
Las siguientes Funciones en VBA o Macros podran ser de mucha ayuda
para las diversas tareas en las que nos veamos involucrados en resolver,
en esta relacin tenemos un acercamiento a las funciones en VBA mas
usuales que podramos llegar a emplear.
1. Funcin WorksheetFunction.IsText
2. WorksheetFunction.Median
3. Funcin ISERROR
4. Funcin FILEDATETIME
5. Funcin WorksheetFunction.Roman
6. Aplicar Trim a un rango de celdas con Macros
7. 5 Funciones en VBA imprescindibles
8. Funcin MonthName
9. WorksheetFunction.CountA
10. Funcin WorksheetFunction.IsLogical
11. Funcin MKDIR
12. Funcin WorksheetFunction.SumProduct
13. Funcin WorksheetFunction.IsOdd
14. Funcin WorksheetFunction.And
15. Funcin Worksheet.IsNumber
16. Funcin RGB en VBA
17. Funcin HOUR
18. Funcin GETATTR
19. Funcin WorksheetFunction.Sum
20. Funcin RTRIM
21. Funcin WorksheetFunction.Or
22. Funcin WorksheetFunction.Fact
23. Funcin ChDir
24. Evaluacion del dia con la Funcin Day
25. Funcin Month en VBA
26. WORKSHEETFUNCTION.MAX para el promedio de notas
27. Funcin Right en VBA
28. Funcin WorksheetFunction.Average
29. Uso de WorksheetFunction.CountBlank
30. Uso de WorksheetFunction.CountA
31. Funcin CINT
32. Funcin Mid para calificacin crediticia
33. Funcin Abs
34. Funcin Now en VBA
35. Funcin Formatpercent
36. Funcin DateAdd (Teora Nagele)
37. Funcin FileLen en VBA
38. Funcin IsEmpty en VBA
39. Funcin Len en VBA
40. Funcin Left
41. Funcin Space en BVA
42. Uso de WorksheetFunction.RandBetween
43. Funcin Rnd
44. Funcion IsNumeric
45. Funcin FormatCurrency en VBA
46. Funcin IsNull en VBA
47. Funcin Cbyte en VBA
48. Funcin StrConv
49. Funcin Replace
50. Funcin Val en VBA
51. Funcin CLng en VBA
52. Uso de WorksheetFunction.Vlookup
53. Funcin Cdec
54. Funcin "Choose" en VBA
55. Funcin CStr
56. Funcin CurDir
57. Funcin CVAR en VBA
58. Funcin InputBox en VBA
59. Funcin CCur en VBA
60. Funcin DateSerial en VBA
61. Funcin WeekdayName
62. Funcin LCase con VBA
63. Funcin ROUND
64. Funcin Sgn
65. Funcin Date
66. Funcin INT
67. Funcin DateDiff
68. Funcin CDate con VBA
69. Funcin Fix con VBA
70. Funcin LTrim
71. Funcin CHR
72. Funcin DateSerial
73. Funcion Cbool
74. Funcin TimeSerial
75. Funcion Ucase
76. Funcin InStr
77. Funcin Format
78. Funcin CDbl
79. Funcin IsDate
80. Funcin Asc
81. Funcin InStrRev
http://www.excel-avanzado.com/1446/elementos-combobox.html