Omitir Error

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

Omitir Error

Notapor hac » 17 Ene 2006 11:33

Hola a todos
En una pantalla realize un macro que muestra celdas donde al colocar un valor en una de ellas aparecen en el resto de las celdas los valores referentes a lo que coloque en la celda de busqueda, incluso una fotografia del producto.
Todo funciona bien pero ahi un problema, todas las celdas donde apareceran los datos y la fotografia al cargarse la pantalla, aparencen inicialmente con (N/A), lo que no es un problema en si, pero tarda en cargarse los datos y la fotografia titila hasta que se carga el ultimo de ellos. Bien si yo me tomo el trabajo de colocar (omitir error) en todas estas celdas el problema se soluciona pero tengo que hacerlo manualmente cada vez que cargo la planilla, La pregunta es, Se puede hacer esto de omitir error mediante un macro?
desde ya gracias.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
hac
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Jun 2005 09:44
Ubicación: Ciudad de Buenos Aires

Notapor IWOLLS » 17 Ene 2006 11:45

prueba a poner al principio de la macro:
application.ScreenUpdating=False (esto hará que la pantalla no se mueva)
y justo antes de acabar
application.ScreenUpdating=true
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
IWOLLS
Miembro Frecuente
Miembro Frecuente
 
Registrado: 22 Nov 2005 08:43
Ubicación: Bilbao - ESPAí‘A

Notapor cubaezb » 17 Ene 2006 12:01

Y si usas
On Error Resume Next en la lí­nea o lí­neas que te detienen la macro

Ahora para agilizar un poco las cosas podrí­as evitar la actualización de la pantalla con
Código: Seleccionar todo
Sub mimacro()
Application.ScreenUpdating = False
'Instrucciones
Application.ScreenUpdating = True
End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
cubaezb
Miembro Frecuente
Miembro Frecuente
 
Registrado: 30 Nov 2005 19:46
Ubicación: Bogota, Colombia

Re: Omitir Error

Notapor hac » 17 Ene 2006 12:38

No me funciono, ya lo tenia en la primera linea de la macro y lo probe colocandolo en distintos lados de la misma.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
hac
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Jun 2005 09:44
Ubicación: Ciudad de Buenos Aires

Notapor cubaezb » 17 Ene 2006 12:46

¿Podrí­as colocar el archivo para mirar en dónde están los errores?
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
cubaezb
Miembro Frecuente
Miembro Frecuente
 
Registrado: 30 Nov 2005 19:46
Ubicación: Bogota, Colombia

Re: Omitir Error

Notapor hac » 17 Ene 2006 12:52

ESTE ES EL QUE BORRA LA PLANILLA

Sub comandos2()
'
' comandos Macro
' Macro grabada el 19/05/2005 por Hector

Application.ScreenUpdating = False


' seleccionar hoja Auxiliardet para limpiar contenido

Sheets("auxiliardet").Select
Range("A4:AA1007").Select
Selection.ClearContents
Range("A4").Select

' seleccionar hoja Detalle para limpiar contenido

Sheets("detalle").Select

Range("C12").Select
Selection.ClearContents
Range("C16").Select
Selection.ClearContents
Range("F16").Select
Selection.ClearContents
Range("L16").Select
Selection.ClearContents
Range("N16").Select
Selection.ClearContents
Range("C20").Select
Selection.ClearContents
Range("F20").Select
Selection.ClearContents
Range("H20").Select
Selection.ClearContents
Range("R12").Select
Selection.ClearContents
Range("R16").Select
Selection.ClearContents
Range("AC8").Select
Selection.ClearContents
Range("AC10").Select
Selection.ClearContents
Range("C24").Select
Selection.ClearContents
Range("N24").Select
Selection.ClearContents
Range("L20").Select
Selection.ClearContents
Range("C32").Select
Selection.ClearContents
Range("AA8").Select
Selection.ClearContents
Range("L8").Select
Selection.ClearContents

'Coloca un codigo sin imagen para limpiar visor y luego borrar celda

Range("AA8").Select
ActiveCell.FormulaR1C1 = "Nap.00187"
Range("AA8").Select
Selection.ClearContents

'ir a hoja comandos

Sheets("Comandos").Select
Range("D1").Select
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
Application.ScreenUpdating = True

End With
End Sub

ESTE ES QUE ARMA LA PLANILLA

Sub aux_detalle()

' Macro grabada el 19/06/2005 por Héctor

Application.ScreenUpdating = False

' Llenar planilla auxiliar macro
' carga primera linea

Sheets("auxiliardet").Select

Range("A4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("B4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("C4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("D4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("E4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("F4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("G4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("H4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("I4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("J4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("K4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("L4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("M4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("N4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("O4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"
Range("P4").Select
ActiveCell.FormulaR1C1 = "=SOLD.NAPOLEONICOS!R[3]C"

Range("AA4:AA1007").FormulaR1C1 = "=IF(RC11=""SI"",RC[-26],0)"


' copiar primera linea para completar planilla

Range("A4:P4").Select
Selection.Copy
Range("A5:P5").Select
Range(Selection, Selection.End(xlDown)).Select
Range("A5:P1007").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("A4").Select
Selection.Sort Key1:=Range("A4"), Order1:=xlAscending

Range("A4").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.Replace What:="0", Replacement:="", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Application.CutCopyMode = False




' Range("AA4").Select
' Selection.Copy
' Range(Selection, Selection.End(xlDown)).Select
' Range("AA6:AA007").Select
' ActiveSheet.Paste

' Selection.Replace What:="0", Replacement:="1", LookAt:=xlWhole, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False


Range("A1").Select

' borrador de celdas en blanco

On Error Resume Next
Range("A4:A1007").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
Range("A1").Select


' PASA A HOJA DETALLE
' ubicacion de las celdas para ficha detalle

Sheets("detalle").Select

Range("C12").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,2)"
Range("C16").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,4)"
Range("F16").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,5)"
Range("L16").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,6)"
Range("N16").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,7)"
Range("C20").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,9)"
Range("F20").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,10)"
Range("H20").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,11)"
Range("R12").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,15)"
Range("R16").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,13)"
Range("AC8").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,8)"
Range("AC10").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,3)"
Range("C24").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,14)"
Range("L20").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,12)"
Range("C32").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C16,16)"
Range("AA8").Select
ActiveCell.FormulaR1C1 = "=VLOOKUP(R8C12,Auxiliardet!R4C1:R1007C27,27)"


Sheets("detalle").Select
Range("L8").Select

End Sub
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
hac
Miembro Frecuente
Miembro Frecuente
 
Registrado: 08 Jun 2005 09:44
Ubicación: Ciudad de Buenos Aires


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 20 invitados