corchodrilo | |
| 2010-03-24 04:18 - Respuestas: 4 - Tema nº: 2672340
Windows XP Home .
queridos amigos, tengo un problema y es el siguiente:
1. tengo 20 celdas en donde digito informacion correspondiente a fechas articulos, etc en la hoja 1
2. al terminar de digitar en las 20 celdas, ejecuto una macro para guardar la informacion en una base de datos en la hoja 2 de mi libro-
cuando ejecuto la macro para guardar la informacion, me guarda las 20 celdas completas.
el problema es que si solo digito ya sean 2 5 o 10 filas me guarda todas las veinte, poniendo ceros en las que no digite informacion, quedando en mi base de datos, las celdas con ceros.
Espero haber sido lo suficientemente claro para que me puedan colaborar.
Existe alguna macro para borrar cierta informacion de algunas celdas dejando otras intactas
| |
|
|
jagalber | |
|
Re: Como limpiar celdas en excel - 2010-03-25 17:04 - Respuesta 2
Hola. No sé exactamente cómo haces el traspaso de datos de una hoja a otra, pero podrías poner que no coja el valor de la celda tal cual (ya que si la celda tiene formato numérico te asumirá que es 0), si no una fórmula condicional que dijera que si no es 0 te pusiera el valor en cuestión y si es 0 no pusiera nada (valor null). Sería algo parecido a =SI(A10;A1;"").
Espero haber aportado algo.
Saludos.
| |
|
|
corchodrilo | |
|
Re: Como limpiar celdas en excel - 2010-03-26 02:46 - Respuesta 3
gracias por tu respuesta, lo de pasar los datos de una hoja a otra, lo hago con una macro que copie y pegue e inserte filas para poder continuar.
Lo del formato condicional, no lo entiendo muy bien, porque eso seria aplicable a una sola celda y los datos que digito estan en una tabla de 10 columnas x 20 filas.
espero haber sido claro y muchas gracias | |
|
|
jagalber | |
|
Re: Como limpiar celdas en excel - 2010-03-27 01:18 - Respuesta 4
Hola de nuevo.
Si no te importa copia y pega en un post la macro que usas para el traspaso de datos, así, yo u otro usuario, te podríamos indicar alguna modificación para conseguir los resultados deseados. Te comento esto porque aunque la hoja de destino tenga un formato o fórmulas definidas, la macro seguramente "machacará" lo definido en dicha hoja (fórmulas condicionales, etc, etc...).
En cuanto a que sea más de una celda no te preocupes, ya que una vez sabiendo cómo pasar los valores a una, se puede ampliar al rango de celdas que desees.
Un saludo.
| |
|
|
corchodrilo | |
|
Re: Como limpiar celdas en excel - 2010-03-27 02:51 - Respuesta 5
Buenas compañero
aqui pego la macro que me guarda los datos de una hoja en otra, las veinte filas, la macro consiste en:
en la hoja 1 se ingresan los datos llamada PRESUPUESTO
en la hoja 2 llamada informe escribo en cada celda la referencia de la hoja 1
ej: =PRESUPUESTO!A1. =PRESUPUESTO¡a2 etc
asi con las veinte filas y 11 columnas
como es formula me trae los datos siendo formulas, entonces la macro las copia y pega como valores, despuesd ehaber insertado 20 filas
bueno aqui pego la macro a ver como me puedes ayudar. muchas gracias por tu tiempo
Sub GUARDAR()
'
' GUARDAR Macro
'
'
Sheets("INFORMES").Select
Rows("45:64").Select
Selection.Insert Shift:=xlDown
ActiveWindow.SmallScroll ToRight:=11
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 1
Range("M1:W20").Select
Selection.Copy
Range("A45").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.ScrollRow = 2
ActiveWindow.ScrollRow = 3
ActiveWindow.ScrollRow = 4
ActiveWindow.ScrollRow = 5
ActiveWindow.ScrollRow = 6
ActiveWindow.ScrollRow = 7
ActiveWindow.ScrollRow = 8
ActiveWindow.ScrollRow = 9
ActiveWindow.ScrollRow = 10
ActiveWindow.ScrollRow = 11
ActiveWindow.ScrollRow = 12
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 14
ActiveWindow.ScrollRow = 15
ActiveWindow.ScrollRow = 16
ActiveWindow.ScrollRow = 17
ActiveWindow.ScrollRow = 18
Application.CutCopyMode = False
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A22:K22").Select
Selection.AutoFilter
Selection.AutoFilter
Range("A22").Select
ActiveCell.FormulaR1C1 = "DEPOSITO"
Range("A23").Select
ActiveSheet.Range("$A$22:$K$64").AutoFilter Field:=1, Criteria1:="0", _
Operator:=xlAnd
Sheets("ANALISIS GRAFICO").Select
ActiveSheet.PivotTables("Tabla dinámica3").PivotCache.Refresh
ActiveSheet.PivotTables("Tabla dinámica3").PivotCache.Refresh
Sheets("PRESUPUESTO").Select
Range("D11").Select
End Sub
| |
|
|
|