Tips excel

Solo disponible en BuenasTareas
  • Páginas : 5 (1112 palabras )
  • Descarga(s) : 0
  • Publicado : 8 de febrero de 2011
Leer documento completo
Vista previa del texto
Proteje – Desproteje Hoja
activesheet.Protect password:="abc123"

activesheet.Unprotect password:="abc123"

1. Para cerrar cuadros de advertencia no deseados o necesarios

Application.DisplayAlerts = False

2. Selecciona rango comprendido por 2.000 filas y 10 columnas a partir de la celda activa

Range(ActiveCell.Offset(2000, 0), ActiveCell.Offset(0, 10)).Select

3. Ante unerror detectado (por ejemplo al presionar la tecla “Esc” mientras se ejecuta código:

On Error GoTo ReProtect

Código VBA

ReProtect:
Run "REPROTECT"

4. Selecciona todo elrango hacia abajo desde la seleccióninicial “s2:t2”

Range("s2:t2", ActiveCell.End(xlDown)).Select

5. Permite jecutar código en una Hoja protegida (cuidar de desprotejer celdas modificables o en las cualesdebe escribirse algo o incorporarse una fórmula). Permite además ejecutar filtro automático (AllowFiltering).

Sheets("DESC").Protect password:="abc123", UserInterfaceOnly:=True, AllowFiltering:=True

6. Bucle Goto (Ir a)

GoTo 1:

1: sheets(“desc”).select

7. Seleccionar una celda específica en un rango extendido asociado al N° de una fila (Indexación)

Range("O3").SelectCells(Sheets("ASIGNADOR").Cells(1, 1).Value + 3, ActiveCell.Offset(0, 0).Column).Select

ó
Cells(c.Value, ActiveCell.Offset(0, 0).Column).Select
Donde c.value es la variable que contiene el valor que se buscará. El cursor se detendrá en el valor encontrado.

8. Llama a otras macros para que se jecuten

Sub test_call()

Call Macro1
Call Macro2
Call Macro3

End sub

Crea Cuadro deDiálogo interactivo

Sub CuadroInteractivo()

'Donde y = 6 significa "SI"

Dim y
y = MsgBox("¿Esta seguro que desea borrar la información de EAC por intervalos de Toda la semana?", vbYesNo, "")

If y = 6 Then
MsgBox "SI"

Else

MsgBox "NO"
End If
End Sub

Otro cuadro de diálogo interactivo

Sub CALCULA_ORIGINAL()

Dim mensaje
Dim estilo
Dim titulo
Dim respuestamensaje = " ¿Desea reemplazar los datos Originales por los provenientes del MODELO? "
estilo = vbYesNo + vbDefaultButton2
titulo = "Validar datos finales"
respuesta = MsgBox(mensaje, estilo, titulo)
If respuesta = vbYes Then
On Error Resume Next
Range("h5:h52").Select
Selection.Copy
Range("i5").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,SkipBlanks:= _
False, Transpose:=False
Else
ActiveSheet.Select
Exit Sub
End If
End Sub

Asigna fórmulas a rango extendido

Sub asignaformulas()
With Range("a2:a14283")
.FormulaR1C1 = "=CONCATENATE(RC[1]&"" ""&RC[8])"
.Value = .Value
End With
End Sub

Ejecutar macro desde otro libro

Sub MacroUno()
****MsgBox "Hola!"
****Workbooks.Open Filename:="C:\(...ruta...) \Otrolibro.xlxm"
****Application.Run "Otrolibro.xls!MacroDos"
End Sub

Ejecuta 2 macros de distintos libros abiertos

Sub unoMacros()
Application.Run "Feedback.xlxm!buscamultiple"
Application.Run "Libro2.xlxm!nada"
End Sub

Selecciona rango paralelo acolumna A y genera un autofill

Public Sub FINAL()
uf = Range("A" & Cells.Rows.Count).End(xlUp).Row
Range("B2").SelectSelection.AutoFill Destination:=Range("B2" & ":B" & uf), Type:=xlFillDefault
End Sub

CELDA que cuando introduzca una segunda cantidad se sume a la cantidad que ya hay

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$A$1" Then Range("C1") = Range("A1") + Range("C1")

Range("A1").Select

If Target.Address = "$A$1" And Target.Value = "" Then Range("C1").Value =0

End Sub

Ajusta automáticamente altura filas de acuerdo al texto

Sub EjecutarEnHojasSeleccionadas()
Dim ws As Worksheet
For Each ws In ActiveWindow.SelectedSheets
AutoFitMergedCellRowHeight ws.Range(ActiveCell.Address)
Next ws
End Sub

Abre PDF desde Excel

1. Sub Abrirreg()
2. ruta = ActiveWorkbook.Path & ""
3. arch = ruta &...
tracking img