Sub Libro_Aux()
'***************************ESTO SE PEGA EN EL ARCHIVO ORIGEN DESDE DONDE SE EJECUTA*************************************
Dim wbkOrigen As Workbook
Dim wbktemporal As Workbook
Set wbkOrigen = ActiveWorkbook
'************metodo para abror archivo txt ****************
carga = Application.GetOpenFilename
Workbooks.Open carga
'************metodo para abror archivo txt ****************
'**********************desde aca el lo que se va hacer****************************
Workbooks.OpenText _
Filename:=carga, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(31, 1), Array(47 _
, 1), Array(66, 1), Array(79, 1), Array(173, 1), Array(264, 1), Array(299, 1), Array(335, 1) _
), TrailingMinusNumbers:=True
Application.ScreenUpdating = False
Range("A1").Select
Cells.Select
Selection.AutoFilter
Range("A4").Select
Selection.AutoFilter Field:=1, Criteria1:="="
ActiveCell.Offset(1, 0).Range("1:1").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="=----*", Operator:=xlAnd
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="= *", Operator:=xlAnd
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="=Cuenta*", Operator:=xlAnd
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="=Negocio:*", Operator:=xlAnd
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
Selection.AutoFilter Field:=1, Criteria1:="=Oficina:*", Operator:=xlAnd
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Delete Shift:=xlUp
Selection.AutoFilter Field:=1
ActiveWindow.Zoom = 80
Columns("A:K").EntireColumn.AutoFit
Range("F4").Select
Selection.ClearContents
Columns("F:K").Select
Selection.Style = "Comma"
Range("A1").Select
Rows("1:3").Delete
Columns("E:E").Select
Selection.TextToColumns Destination:=Range("E1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 9), Array(3, 1)), TrailingMinusNumbers:=True
Columns("F:F").EntireColumn.AutoFit
Range("J2").Select
ActiveCell.FormulaR1C1 = "=+IF(RC[-3]=0,RC[-2],-RC[-3])"
Range("J2").Select
Selection.Copy
Range("I2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 1).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("J:J").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("A:J").EntireColumn.AutoFit
Columns("A:J").Select
Columns("A:J").EntireColumn.AutoFit
Range("A2").Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Application.CutCopyMode = False
Selection.Copy
'**********************hasta aca el lo que se va hacer****************************
Set wbktemporal = ActiveWorkbook ' se define que es el libro que esta activo la variable
wbktemporal.Close SaveChanges:=False ' se cierra el archivo en donde se trabaja y los valores quedan guardados en el portapapeles por defecto hay quer hacer que si para que los guarde
wbkOrigen.Activate ' se activa el archivo donde esta guardada la macro
Sheets("Datos").Select ''' esta hoja es del archivo origen
ActiveSheet.Paste
End Sub
jueves, 24 de marzo de 2011
viernes, 18 de marzo de 2011
Hacer un mensaje con VBOKCANCEL y que hacer en cada opcion
i = MsgBox("Desea Continuar", vbOKCancel)
If i = vbCancel Then
ActiveWorkbook.Close'lo que se quiere hacer en caso de que sea Cancel
Exit Sub
Else
i = vbOK
End If
' codigo que es lo que se quiere hacer en caso de que se OK
If i = vbCancel Then
ActiveWorkbook.Close'lo que se quiere hacer en caso de que sea Cancel
Exit Sub
Else
i = vbOK
End If
' codigo que es lo que se quiere hacer en caso de que se OK
jueves, 17 de marzo de 2011
miércoles, 16 de marzo de 2011
ABRIR ARCHIVO DESDE CUALQUIER UBICACION
Private Sub Workbook_Open()
carga = Application.GetOpenFilename
Workbooks.open carga
End Sub
carga = Application.GetOpenFilename
Workbooks.open carga
End Sub
COMO HACER QUE SUME POR COLORES
Function Sumarcolor(Celdacolor As Range, Rangosuma As Range) As Double
Dim celda As Range
For Each celda In Rangosuma
If celda.Interior.ColorIndex = Celdacolor.Cells(1, 1).Interior.ColorIndex Then Sumarcolor = Sumarcolor + celda
Next celda
Set celda = Nothing
End Function
Dim celda As Range
For Each celda In Rangosuma
If celda.Interior.ColorIndex = Celdacolor.Cells(1, 1).Interior.ColorIndex Then Sumarcolor = Sumarcolor + celda
Next celda
Set celda = Nothing
End Function
Uso de Variables VBA EXCEL - Macros VBA EXCEL
Para que :Se emplean para "GUARDAR" y "MANIPULAR VALORES ó DATOS "
Tipos de Datos:
-numericos ---> Myvarnum=5000 'guardando el dato numerico "5000" en "Myvarnum"
-cadenas ---> Myvarcadena="Libro39" 'guardando la cadena "Libro39" en Myvarcadena
-objetos ---> set wbk=Activeworkbook ''asig¡nando el libro activo a la variable de tipo objeto "wbk"
-variantes ----->myvar=5000 , myvar="XXX" , set myvar=Activeworkbook
'y en las varables de tipo variant uno podra almacenar un dato de diferentes tipos.
Las varibles se declaran de la sgte manera
-------------------------------------------
Dim var_ejemplo as string
Dim : Indica la declaración d ela variable
var_ejemplo :nombre de la variable
As : cualificativo para separar el "nombre de la varible" del "tipo de dato"
String : El tipo de dato (puede ser string ,integer, object , variant ,etc,etc)
Dim Myvarnum as integer 'tipo..numerico
Dim Myvarcadena as string 'tipo...cadena
Dim wbk as object 'tipo...objeto
Dim myvar as variant 'tipo...variant
*Varibles de objeto
---------------------
empleadas par refrenciar un objeto
*ojo para asignar un objeto a una variable uno debe asignar
de la sgte forma..primero
colocar set..luego nombre de la variable e igualr al objeto.
Set variable=Objeto
Ejemplo
--------
Dim wbk as object
-asignamos el objeto ===> el libro activo(Activeworkbook) a la variable "wbk"
set wbk=Activeworkbook
-y luego podremos por ejemplo decir
Msgbox wbk.name 'y obtendremos el nombre del libro activo
Ambito de las variables
------------------------
Se refiere al área donde se puede acceder.
'-a nivel de procedimiento
'-------------------------
Sub procedim 'las varibles solo seran acesibles dentro del procedimiento
dim paraproc as string
dim paraprox as string
paraproc="Real Madrid"
paraprox="Barcelona"
End sub
'-a nivel de modulo
'----------------------
Dim superclub as string 'accesible a todos los procedimientos del modulo
sub prueba
superclub="Manchester United"
End sub
'-a nivel de proyecto
'---------------------
Option Explicit
'al declara la variable como publica ser accesible desde todo el proyecto
Public superclub As String
Sub prueba1()
superclub = "Inter de Milan"
Fuente: http://excel-vba-code.blogspot.com/2008/02/uso-de-variables-vba-excel-macros-vba.html
Tipos de Datos:
-numericos ---> Myvarnum=5000 'guardando el dato numerico "5000" en "Myvarnum"
-cadenas ---> Myvarcadena="Libro39" 'guardando la cadena "Libro39" en Myvarcadena
-objetos ---> set wbk=Activeworkbook ''asig¡nando el libro activo a la variable de tipo objeto "wbk"
-variantes ----->myvar=5000 , myvar="XXX" , set myvar=Activeworkbook
'y en las varables de tipo variant uno podra almacenar un dato de diferentes tipos.
Las varibles se declaran de la sgte manera
-------------------------------------------
Dim var_ejemplo as string
Dim : Indica la declaración d ela variable
var_ejemplo :nombre de la variable
As : cualificativo para separar el "nombre de la varible" del "tipo de dato"
String : El tipo de dato (puede ser string ,integer, object , variant ,etc,etc)
Dim Myvarnum as integer 'tipo..numerico
Dim Myvarcadena as string 'tipo...cadena
Dim wbk as object 'tipo...objeto
Dim myvar as variant 'tipo...variant
*Varibles de objeto
---------------------
empleadas par refrenciar un objeto
*ojo para asignar un objeto a una variable uno debe asignar
de la sgte forma..primero
colocar set..luego nombre de la variable e igualr al objeto.
Set variable=Objeto
Ejemplo
--------
Dim wbk as object
-asignamos el objeto ===> el libro activo(Activeworkbook) a la variable "wbk"
set wbk=Activeworkbook
-y luego podremos por ejemplo decir
Msgbox wbk.name 'y obtendremos el nombre del libro activo
Ambito de las variables
------------------------
Se refiere al área donde se puede acceder.
'-a nivel de procedimiento
'-------------------------
Sub procedim 'las varibles solo seran acesibles dentro del procedimiento
dim paraproc as string
dim paraprox as string
paraproc="Real Madrid"
paraprox="Barcelona"
End sub
'-a nivel de modulo
'----------------------
Dim superclub as string 'accesible a todos los procedimientos del modulo
sub prueba
superclub="Manchester United"
End sub
'-a nivel de proyecto
'---------------------
Option Explicit
'al declara la variable como publica ser accesible desde todo el proyecto
Public superclub As String
Sub prueba1()
superclub = "Inter de Milan"
Fuente: http://excel-vba-code.blogspot.com/2008/02/uso-de-variables-vba-excel-macros-vba.html
martes, 15 de marzo de 2011
RUTINA PARA ELIMINAR CELDAS IGUALES EN EXCEL
Do Until ActiveCell = ""
If ActiveCell = ActiveCell.Offset(0, 1) Then
ActiveCell.EntireRow.Delete
End If
ActiveCell.Offset(1, 0).Activate
Loop
Suscribirse a:
Comentarios (Atom)
