Hola buenas noches, adjunto un archivo excel en el que quiero hacer una cosa. Sin liarme, tengo una hoja llamada "Summary", que contiene una tabla y una columna H dentro de la tabla, en la cual tengo configurada una fórmula con el método de cálculo general, según la información de su fila. Depende de otra persona (ingeniero) que ese método general de cálculo varíe en algún caso particular, y yo tenga que introducir el valor que esa persona me dé. La hoja irá protegida pero esta columna será editable. Necesito un código VBA tal que me recupere la fórmula en las celdas de la columna H que se queden vacías. ¿Por qué? Porque en algún momento pasa que me pueden decir de volver a calcular esa fila con el método habitual. En ese caso mi idea es que yo suprima esos valores "particulares" y me vuelva a realizar el cálculo de la manera general.
señales.xlsm
Por
MANTONIOPM, · publicado
Buenas Tardes
Tengo un problema con una macro que cree para ejecutar una consulta desde excel y que traiga los resultados en una celda en particular.
Hace meses la vengo usando y funcionaba perfecto, pero desde la semana pasada me tira este error:
RUN TIMER ERROR 1004 Application defined or objet defined error
y se tilda la siguiente sentencia
.Refresh BackgroundQuery:=False
Llevo toda una semana investigando que puede ser y no encuentro nada. Agradezco su ayuda *******!!!!
Dim varSQL
' OBTIENE EL NUMERO SIGUIENTE DE BASE
varSQL = Sheets("ArmadoQuery").Range("c23")
Sheets("Resultado").Select
Range("F15").Select
Selection.ClearContents
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL Server;SERVER=XXXXX;UID=XXXX;pwd=XXXX;DATABASE=XXXXX" _
, Destination:=Range("F15"))
.CommandText = varSQL
.Name = "Query from bi en bi01"
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
Do While .Refreshing
DoEvents
Loop
End With
End Sub