UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

Sólo por unos días suban sus archivos a Dropbox y dejan link en sus consultas. Gracias.

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

punteral


Hola a todos. Primero quería felicitarles por este fantástico foro y por su trabajo.

Mi duda es la siguiente. Tengo un conjunto de archivos que son fichas de clientes por lo que lo único que cambia de uno a otro son los datos. Quería saber si conocen alguna manera de seleccionar varios de esos archivos y modificar una celda en concreto sin tener que abrir esos archivos uno a uno y modificar la celda manualmente.

Gracias por adelantado y un cordial saludo.

Igtelo

avatar
Hola punteral.

Por supuesto que si se puede. Pero que tal si inicias leyendo las normas del foro y recomendaciones para hacer preguntas.

Ignacio Téllez

punteral


Perdón. Creía haberlas leído y que mi mensaje las cumplía correctamente. Si me indicas cual es mi error lo corregiré inmediatamente. No había subido ningún archivo porque la consulta no es sobre un archivo en concreto, es sobre un conjunto de archivos. Si ese es el error buscaré la manera de subsanarlo.

Gracias por contestar y por alertarme del incumplimiento de las normas en mi mensaje.

Un saludo.

Igtelo

avatar
Piénsale un poquito...

¿En que hoja, en cual celda?
¿Que vas a cambiar, dato o fórmula?

Me pongo en éste plan porque después salen con que:
Perdón no era en esa hoja, no era dato, no en esa celda, no me explique bien, etc, etc. 

Chavos, hay que ser claros desde el principio, sino doble trabajo...


Ignacio Téllez

punteral


Entiendo, gracias por hacerme ver el error. Intentaré explicarme mejor.

¿En qué hoja, en cual celda? Las fichas tienen 4 hojas y las celdas que hay que modificar pueden estar en cualquiera de ellas. Por ejemplo puede ocurrir que tengo que modificar la celda E5 de la Hoja 1 en quince archivos distintos y otras veces tengo que modificar las celdas C10, C11 y C12 de la Hoja 2 en otros veinte archivos.

Son las mismas modificaciones y las mismas celdas y hojas, pero en distintos archivos.

Un ejemplo. Tengo 20 archivos cada uno con los datos de un cliente. En la celda E5 de la Hoja 1 está el dato "Ciudad". Esos veinte clientes son de Madrid, pero pensaba que eran de Barcelona, por lo que el dato que está escrito en esa celda en los 20 archivos es erróneo.

El método que utilizo ahora mismo para corregirlo es abrir uno a uno esos 20 archivos y modificar esa celda. He puesto como ejemplo este de 20 archivos, pero imaginen si fueran 100 o más. Por eso quería saber si hay algún método para hacer ese proceso más eficiente.

En este ejemplo he elegido la celda E5, pero no siempre es esa, y no siempre es una celda. Además a veces también es el formato lo que hay que cambiar, por ejemplo poner el texto de esa celda en negrita, color del texto, etc.

No sé si se entiende bien lo que quiero decir. Si no es así por favor díganmelo y haré lo posible por explicarme mejor o añadir toda la información que sea necesaria.

Un saludo y muchas gracias por sus respuestas.

Igtelo

avatar
Verdad que lo que necesitas para nada se parece a tu pregunta inicial?... Ay chavos!!

Abre un libro nuevo, copias y pegas el código en un módulo. Todos los libros deben estar en la misma carpeta, incluido el nuevo.

Código:
Sub Cambia_Dato()
Dim archivo, Celda, Dato As String

Application.ScreenUpdating = False
ChDir ThisWorkbook.Path
archivo = Dir(ThisWorkbook.Path & "\*.xls*") 'Todo tipo archivos de Excel

Numhoja = Cint(InputBox("Dame número de hoja a modificar, la: 1, 2, 3 o la que sea"))
Celda = InputBox("Dime en que celda está el dato a cambiar")
Dato = InputBox("Dame el dato nuevo")

Do While archivo <> ""
Application.DisplayAlerts = False
Workbooks.Open archivo
With ActiveWorkbook
  .Sheets(Numhoja).Range(Celda) = Dato
  .Save: .Close
  archivo = Dir
End With
 Loop

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub


Saludos
Ignacio Téllez

punteral


Tienes toda la razón Ignacio, no se parece en nada. Disculpa que el primer mensaje haya sido tan poco acertado.

Muchas gracias por tu ayuda, tu tiempo y tu trabajo. No conocía estas capacidades de Excel y gracias a este foro he descubierto que tengo muchas posibilidades para aprender sobre este fantástico programa y para mejorar mucho en mi trabajo. Voy a probar el módulo lo antes posible y en cuanto lo compruebe indico el tema como resuelto.

Gracias otra vez, enhorabuena por su trabajo y un cordial saludo.

Igtelo

avatar
Resuelto y cerrado por abandono.

Ignacio Téllez

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.