Copia de valores

12/11/2004 - 13:37 por Luises | Informe spam
Muy buenas.

Tengo un fichero excel con fórmulas y vínculos a otros libros. Mi idea ahora
es crear un nuevo fichero copia del anterior pero sólo de los valores y
formatos, no de las fórmulas y referencias. La acción la llevaría a cabo
mediante un botón, por ejemplo.

¿Es posible hacer lo que digo?

Muchas gracias y un saludo.

Preguntas similare

Leer las respuestas

#11 KL
15/11/2004 - 16:56 | Informe spam
Luises,

Ahora q lo estoy pensando, me pregunto para que necesitarias eliminar las
formulas del grafico. A no ser q el grafico contenga un link externo (por
ejemplo a otro libro de Excel) o un link roto (?#REF!) seria casi
contraproducente. Imaginate el usuario cambia los datos de los q se supone
se alimenta el grafico y este no cambia - podria producirse una confusion
importante.

?Tu que crees?
KL

"Luises" wrote in message
news:
Gracias


"KL" escribió en el mensaje
news:
poder, se tiene q poder. no lo he hecho nunca. voy a ver si encuentro
algo


y
te lo pongo aqui.

KL

"Luises" wrote in message
news:
> Eres una máquina. Funciona. Era eso, que tenía gráficos. ¿Sabes de


alguna
> manera para copiar sólo valores también para fórmulas en gráficos, o
> eso
> ya
> no se puede hacer?
>
> ¡Muchas gracias!
>
>
> "KL" escribió en el mensaje
> news:
>> Creo q acabo de caer, debes de tener hojas de graficos (no se como se
> llaman
>> en castellano - en ingles Charts). Si es asi entonces tienes q cambiar
> esta
>> linea del codigo:
>> For Each hoja In ThisWorkbook.Sheets
>> para q lea asi:
>> For Each hoja In ThisWorkbook.Worksheets
>>
>> Dime algo,
>> KL
>>
>>
>>
>> "KL" wrote in message
>> news:
>> >A ver, prueba esta (tienes q indicar tu contrasena al inicio del
>> >codigo):
>> >
>> > Const PASSWORD = "tu_contrasena"
>> > Sub CopiarSinFormulas()
>> > Dim hoja As Worksheet
>> > Dim esteFichero As String
>> > Dim nuevoFichero As Variant
>> >
>> > esteFichero = ThisWorkbook.Name
>> > nuevoFichero = Application.GetSaveAsFilename _
>> > (esteFichero, "Libros de Microsoft Excel (*.xls),*.xls")
>> >
>> > Select Case VarType(nuevoFichero)
>> > Case vbBoolean
>> > MsgBox "Operacion cancelada"
>> > Case Else
>> > Application.ScreenUpdating = False
>> > For Each hoja In ThisWorkbook.Sheets
>> > With hoja
>> > Select Case .ProtectionMode
>> > Case True
>> > .Activate 'necesario para eliminar la seleccion
>> > With .Cells
>> > .Copy
>> > .PasteSpecial xlPasteValues
>> > End With
>> > .Range("A1").Select
>> > Case False
>> > .Unprotect PASSWORD
>> > .Activate 'necesario para eliminar la seleccion
>> > With .Cells
>> > .Copy
>> > .PasteSpecial xlPasteValues
>> > End With
>> > .Range("A1").Select
>> > .Protect PASSWORD
>> > End Select
>> > End With
>> > ThisWorkbook.Sheets(1).Activate
>> > Application.CutCopyMode = False
>> > Next hoja
>> > Application.ScreenUpdating = True
>> > On Error GoTo ManejoDeErrores
>> > ActiveWorkbook.SaveAs Filename:=nuevoFichero
>> > End Select
>> > Exit Sub
>> > ManejoDeErrores:
>> > MsgBox "El archivo no se ha guardado!"
>> > End Sub
>> >
>> > "KL" wrote in message
>> > news:
>> >> Sera q tienes hojas escondidas o protegidas. Si me lo confirmas te
>> >> modifico la macro para q lo tome en cuenta.
>> >>
>> >> Saludos,
>> >> KL
>> >>
>> >> "KL" wrote in message
>> >> news:
>> >>> Luises,
>> >>> Prueba esta macro. Ojo: solo se eliminaran formulas y referencias


en
> las
>> >>> celdas, o sea q si tienes formulas o referencias en validacion,
> formato
>> >>> condicional, graficos, rangos denominados, etc. se copiaran tal


cual.
>> >>> Saludos,
>> >>> KL
>> >>>
>> >>> Sub CopiarSinFormulas()
>> >>> Dim hoja As Worksheet
>> >>> Dim esteFichero As String
>> >>> Dim nuevoFichero As Variant
>> >>>
>> >>> esteFichero = ThisWorkbook.Name
>> >>> nuevoFichero = Application.GetSaveAsFilename _
>> >>> (esteFichero, "Libros de Microsoft Excel (*.xls),*.xls")
>> >>>
>> >>> Select Case VarType(nuevoFichero)
>> >>> Case vbBoolean
>> >>> MsgBox "Operacion cancelada"
>> >>> Case Else
>> >>> Application.ScreenUpdating = False
>> >>> For Each hoja In ThisWorkbook.Sheets
>> >>> With hoja
>> >>> .Activate 'necesario para eliminar la seleccion
>> >>> With .Cells
>> >>> .Copy
>> >>> .PasteSpecial xlPasteValues
>> >>> End With
>> >>> .Range("A1").Select
>> >>> End With
>> >>> ThisWorkbook.Sheets(1).Activate
>> >>> Application.CutCopyMode = False
>> >>> Next hoja
>> >>> Application.ScreenUpdating = True
>> >>> On Error GoTo ManejoDeErrores
>> >>> ActiveWorkbook.SaveAs Filename:=nuevoFichero
>> >>> End Select
>> >>> Exit Sub
>> >>> ManejoDeErrores:
>> >>> MsgBox "El archivo no se ha guardado!"
>> >>> End Sub
>> >>>
>> >>> "Luises" wrote in message
>> >>> news:%
>> >>>> Pero si lo que quiero es copiar un libro entero con varias hojas,
>> >>>> ¿tengo que
>> >>>> hacerlo hoja por hoja o hay una manera más rápida?
>> >>>>
>> >>>> Gracias.
>> >>>>
>> >>>>
>> >>>> escribió en el mensaje
>> >>>> news:63ab01c4c8da$984040f0$
>> >>>> Si. Es muy fácil. Seleccionas lo que quieres copiar, lo
>> >>>> copias al portapapeles y a continuación lo pegas con la
>> >>>> opción 'pegado especial' y marcas la casilla 'valores.
>> >>>>
>> >>>>
>> >>>>
>> >>>>>Muy buenas.
>> >>>>>
>> >>>>>Tengo un fichero excel con fórmulas y vínculos a otros
>> >>>> libros. Mi idea ahora
>> >>>>>es crear un nuevo fichero copia del anterior pero sólo de
>> >>>> los valores y
>> >>>>>formatos, no de las fórmulas y referencias. La acción la
>> >>>> llevaría a cabo
>> >>>>>mediante un botón, por ejemplo.
>> >>>>>
>> >>>>>¿Es posible hacer lo que digo?
>> >>>>>
>> >>>>>Muchas gracias y un saludo.
>> >>>>>
>> >>>>>
>> >>>>>.
>> >>>>>
>> >>>>
>> >>>>
>> >>>
>> >>>
>> >>
>> >>
>> >
>> >
>>
>>
>
>






Respuesta Responder a este mensaje
#12 Luises
15/11/2004 - 17:06 | Informe spam
La única fórmula que tengo en los gráficos es el título, que toma el valor
de una celda del mismo libro. Pero ahora lo estaba probando y también
funciona. Como tú bien dices queda mucho mejor dejando que el gráfico siga
tomando los datos de las otras hojas.

Muchas gracias por todo, me has ahorrado mucho tiempo de trabajo.


"KL" escribió en el mensaje
news:
Luises,

Ahora q lo estoy pensando, me pregunto para que necesitarias eliminar las
formulas del grafico. A no ser q el grafico contenga un link externo (por
ejemplo a otro libro de Excel) o un link roto (?#REF!) seria casi
contraproducente. Imaginate el usuario cambia los datos de los q se supone
se alimenta el grafico y este no cambia - podria producirse una confusion
importante.

?Tu que crees?
KL

"Luises" wrote in message
news:
> Gracias
>
>
> "KL" escribió en el mensaje
> news:
>> poder, se tiene q poder. no lo he hecho nunca. voy a ver si encuentro
>> algo
> y
>> te lo pongo aqui.
>>
>> KL
>>
>> "Luises" wrote in message
>> news:
>> > Eres una máquina. Funciona. Era eso, que tenía gráficos. ¿Sabes de
> alguna
>> > manera para copiar sólo valores también para fórmulas en gráficos, o
>> > eso
>> > ya
>> > no se puede hacer?
>> >
>> > ¡Muchas gracias!
>> >
>> >
>> > "KL" escribió en el mensaje
>> > news:
>> >> Creo q acabo de caer, debes de tener hojas de graficos (no se como


se
>> > llaman
>> >> en castellano - en ingles Charts). Si es asi entonces tienes q


cambiar
>> > esta
>> >> linea del codigo:
>> >> For Each hoja In ThisWorkbook.Sheets
>> >> para q lea asi:
>> >> For Each hoja In ThisWorkbook.Worksheets
>> >>
>> >> Dime algo,
>> >> KL
>> >>
>> >>
>> >>
>> >> "KL" wrote in message
>> >> news:
>> >> >A ver, prueba esta (tienes q indicar tu contrasena al inicio del
>> >> >codigo):
>> >> >
>> >> > Const PASSWORD = "tu_contrasena"
>> >> > Sub CopiarSinFormulas()
>> >> > Dim hoja As Worksheet
>> >> > Dim esteFichero As String
>> >> > Dim nuevoFichero As Variant
>> >> >
>> >> > esteFichero = ThisWorkbook.Name
>> >> > nuevoFichero = Application.GetSaveAsFilename _
>> >> > (esteFichero, "Libros de Microsoft Excel (*.xls),*.xls")
>> >> >
>> >> > Select Case VarType(nuevoFichero)
>> >> > Case vbBoolean
>> >> > MsgBox "Operacion cancelada"
>> >> > Case Else
>> >> > Application.ScreenUpdating = False
>> >> > For Each hoja In ThisWorkbook.Sheets
>> >> > With hoja
>> >> > Select Case .ProtectionMode
>> >> > Case True
>> >> > .Activate 'necesario para eliminar la seleccion
>> >> > With .Cells
>> >> > .Copy
>> >> > .PasteSpecial xlPasteValues
>> >> > End With
>> >> > .Range("A1").Select
>> >> > Case False
>> >> > .Unprotect PASSWORD
>> >> > .Activate 'necesario para eliminar la seleccion
>> >> > With .Cells
>> >> > .Copy
>> >> > .PasteSpecial xlPasteValues
>> >> > End With
>> >> > .Range("A1").Select
>> >> > .Protect PASSWORD
>> >> > End Select
>> >> > End With
>> >> > ThisWorkbook.Sheets(1).Activate
>> >> > Application.CutCopyMode = False
>> >> > Next hoja
>> >> > Application.ScreenUpdating = True
>> >> > On Error GoTo ManejoDeErrores
>> >> > ActiveWorkbook.SaveAs Filename:=nuevoFichero
>> >> > End Select
>> >> > Exit Sub
>> >> > ManejoDeErrores:
>> >> > MsgBox "El archivo no se ha guardado!"
>> >> > End Sub
>> >> >
>> >> > "KL" wrote in message
>> >> > news:
>> >> >> Sera q tienes hojas escondidas o protegidas. Si me lo confirmas


te
>> >> >> modifico la macro para q lo tome en cuenta.
>> >> >>
>> >> >> Saludos,
>> >> >> KL
>> >> >>
>> >> >> "KL" wrote in message
>> >> >> news:
>> >> >>> Luises,
>> >> >>> Prueba esta macro. Ojo: solo se eliminaran formulas y


referencias
> en
>> > las
>> >> >>> celdas, o sea q si tienes formulas o referencias en validacion,
>> > formato
>> >> >>> condicional, graficos, rangos denominados, etc. se copiaran tal
> cual.
>> >> >>> Saludos,
>> >> >>> KL
>> >> >>>
>> >> >>> Sub CopiarSinFormulas()
>> >> >>> Dim hoja As Worksheet
>> >> >>> Dim esteFichero As String
>> >> >>> Dim nuevoFichero As Variant
>> >> >>>
>> >> >>> esteFichero = ThisWorkbook.Name
>> >> >>> nuevoFichero = Application.GetSaveAsFilename _
>> >> >>> (esteFichero, "Libros de Microsoft Excel (*.xls),*.xls")
>> >> >>>
>> >> >>> Select Case VarType(nuevoFichero)
>> >> >>> Case vbBoolean
>> >> >>> MsgBox "Operacion cancelada"
>> >> >>> Case Else
>> >> >>> Application.ScreenUpdating = False
>> >> >>> For Each hoja In ThisWorkbook.Sheets
>> >> >>> With hoja
>> >> >>> .Activate 'necesario para eliminar la seleccion
>> >> >>> With .Cells
>> >> >>> .Copy
>> >> >>> .PasteSpecial xlPasteValues
>> >> >>> End With
>> >> >>> .Range("A1").Select
>> >> >>> End With
>> >> >>> ThisWorkbook.Sheets(1).Activate
>> >> >>> Application.CutCopyMode = False
>> >> >>> Next hoja
>> >> >>> Application.ScreenUpdating = True
>> >> >>> On Error GoTo ManejoDeErrores
>> >> >>> ActiveWorkbook.SaveAs Filename:=nuevoFichero
>> >> >>> End Select
>> >> >>> Exit Sub
>> >> >>> ManejoDeErrores:
>> >> >>> MsgBox "El archivo no se ha guardado!"
>> >> >>> End Sub
>> >> >>>
>> >> >>> "Luises" wrote in message
>> >> >>> news:%
>> >> >>>> Pero si lo que quiero es copiar un libro entero con varias


hojas,
>> >> >>>> ¿tengo que
>> >> >>>> hacerlo hoja por hoja o hay una manera más rápida?
>> >> >>>>
>> >> >>>> Gracias.
>> >> >>>>
>> >> >>>>
>> >> >>>> escribió en el mensaje
>> >> >>>> news:63ab01c4c8da$984040f0$
>> >> >>>> Si. Es muy fácil. Seleccionas lo que quieres copiar, lo
>> >> >>>> copias al portapapeles y a continuación lo pegas con la
>> >> >>>> opción 'pegado especial' y marcas la casilla 'valores.
>> >> >>>>
>> >> >>>>
>> >> >>>>
>> >> >>>>>Muy buenas.
>> >> >>>>>
>> >> >>>>>Tengo un fichero excel con fórmulas y vínculos a otros
>> >> >>>> libros. Mi idea ahora
>> >> >>>>>es crear un nuevo fichero copia del anterior pero sólo de
>> >> >>>> los valores y
>> >> >>>>>formatos, no de las fórmulas y referencias. La acción la
>> >> >>>> llevaría a cabo
>> >> >>>>>mediante un botón, por ejemplo.
>> >> >>>>>
>> >> >>>>>¿Es posible hacer lo que digo?
>> >> >>>>>
>> >> >>>>>Muchas gracias y un saludo.
>> >> >>>>>
>> >> >>>>>
>> >> >>>>>.
>> >> >>>>>
>> >> >>>>
>> >> >>>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >>
>> >> >
>> >> >
>> >>
>> >>
>> >
>> >
>>
>>
>
>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida