** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - como identificar cuando una celda esta combinada
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradocomo identificar cuando una celda esta combinada

 Responder Responder Página  <12
Autor
Mensaje
Ivanart Ver desplegable
Asiduo
Asiduo


Unido: 21/Febrero/2007
Estado: Sin conexión
Puntos: 342
Enlace directo a este mensaje Enviado: 05/Enero/2009 a las 03:48

hola,

disculpas por meter 'la cuchara'

Publicado originalmente por rgallardo rgallardo escribió:

mi unico problema es poder identificar desde VB 6.0 cuando estoy leyendo una celda combinada ¿como me puedo dar cuanta de eso? como identifico donde empieza y termina la celda combinada con VB 6.0 ? 

aunque ando un poco desconectado de excel, si no recuerdo mal mas o menos por donde te indicaba JordiAlbert en su 1er post: algo mas o menos asi =>
 
para saber cual es la primera celda de la combinada (que ademas es la que 'contiene' el valor y a la que has de asignar uno nuevo para cambiar el mismo) creo que seria algo asi=>
 
tras comprobar que se trata de una celda combinada => 
 
 
if range("a10").mergecells then
 
' puedes obtener el dato de la celda pej. asi =>
 
  tuVariable =  range("a10").mergeArea.cells(1).value
 
' o asignarle un nuevo valor a la celda combinada +/- asi =>
 
 range("a10").mergeArea.cells(1).value = tuNuevoValor
 
' en cuanto a la 'direccion' de dicha 1ª celda podria ser =>
 
range("a10").mergeArea.cells(1).address
 
que te devuelve la referencia (strig) absoluta a dicha celda
 
' o directamente la celda  =>
 
range("a10").mergeArea.cells(1)
 
 
editado he cambiado el rango de los ejemplo pues con el inicial ("a1") no tenia mucho sentido: siempre seria la misma A1 la 1ª celda por muy grande que fuese el rango combinado) fin edicion
 
 
Y como añadido solo 2 comentarios/opiniones=>
 
por un lado:
 
.->si estas trabajando con listas de datos el uso de celdas combinadas no suele ser lo mas recomendable, pues suelen dar bastantes quebraderos de cabeza (como estas viendo). Creo que lo suyo es limitar su uso en lo posible a documentos tipo presentacion, en la que la manipulacion de los rangos sea minima
 
por otro lado:
 
.-> en el noventaytantos por ciento de los casos, no solo no es necesario seleccionar ni activar nada para poder trabajar con ello (acceder a rangos y sus datos, manipular sus formatos, y casi cualquier otra cosa) sino que ademas en muchas ocsiones puede resultar contraproducente.
 
basta con hacer referencia a ello de  la forma adecuada. Pej.
 
libro("tal").hoja("tal").rango("tal").value = "tal"
 
(por supuesto el poner los objetos traducidos es por verlo mas claro. en realidad seria algo asi=>
 
WorkBooks("nombre_del_libro).Worksheets("nombre_de_la_hoja").Range("rango").Value = nuevoValor
 
bueno, solo por si ayuda (y OJO: lo mismo se me ha colado alguna errata/despiste en los terminos)
 
un saludo
Ivan


Editado por Ivanart - 05/Enero/2009 a las 03:55
un saludo
Ivan

Nadie ve el mismo horizonte desde el mismo lugar
Arriba
 Responder Responder Página  <12
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable