contar celdas que tienen sus bordes marcados como una X

19/05/2007 - 22:28 por MyVi | Informe spam
Hola grupo.

LLevo un rato mirando a ver si esto ya lo ha preguntado antes alguien,
pero no lo encuentro.

A ver si alguno de vosotros sabria cómo hacerlo.

Muchas gracias de antemano.

Tengo una columna: range(B10:B20) donde necesitaría que aquellas
celdas que tengan sus bordes marcados de una forma concreta (en este
caso seria como una "X") se cuenten.

Es decir que si de todas las celdas que hay en dicha columna, hay 2
que tienen sus bordes como tachados (espero que esto se entienda) pues
que me los cuente y en otra celda me aparezca el resultado = 2.

El caso es que tengo un calendario. Con un doble clic en un dia del
año (en dicha celda) se marca dicha celda con los bordes inclinado
derecho e izquierdo. Pero entonces necesitaria poder contar que he
marcado dicho dia.
Visualmente en el calendario puedo seleccionar tantos dias como
quiera, pero necesito un contador.

He tratado de hacerlo con "contar.si" pero no veo cómo puedo hacerlo
para que entienda que cuente si la celda tiene esos 2 bordes internos
marcados. Tampoco veo otra forma de poderlo hacer (como siempre ya me
estoy metiendo en camisas de once baras! Esto de no saber programación
no me ayuda demasiado).

¿Alguna idea?

Gracias de nuevo.

Myvic

Preguntas similare

Leer las respuestas

#1 zz
19/05/2007 - 22:38 | Informe spam
te sirve una macro?:

Sub contarceldasconX()
Dim c As Range
Dim numceldasconX As Integer
numceldasconX = 0
For Each c In ActiveSheet.UsedRange
If c.Borders(xlDiagonalDown).LineStyle <> "" Then '[se puede sustituir con
xlDiagonalDown o combinar para verificar que 'tenga las dos]
numceldasconX = numceldasconX + 1
End If
Next
MsgBox numceldasconX
End Sub




30 de septiembre "Dia internacional de la panza chelera"
Que viva la familia...
Zz

"Error: The file 'Brain.sys' could not be found in folder 'Head', body will
now work in reduced functionality mode'
Loading Heart.sys...

"MyVi" wrote in message
news:
Hola grupo.

LLevo un rato mirando a ver si esto ya lo ha preguntado antes alguien,
pero no lo encuentro.

A ver si alguno de vosotros sabria cómo hacerlo.

Muchas gracias de antemano.

Tengo una columna: range(B10:B20) donde necesitaría que aquellas
celdas que tengan sus bordes marcados de una forma concreta (en este
caso seria como una "X") se cuenten.

Es decir que si de todas las celdas que hay en dicha columna, hay 2
que tienen sus bordes como tachados (espero que esto se entienda) pues
que me los cuente y en otra celda me aparezca el resultado = 2.

El caso es que tengo un calendario. Con un doble clic en un dia del
año (en dicha celda) se marca dicha celda con los bordes inclinado
derecho e izquierdo. Pero entonces necesitaria poder contar que he
marcado dicho dia.
Visualmente en el calendario puedo seleccionar tantos dias como
quiera, pero necesito un contador.

He tratado de hacerlo con "contar.si" pero no veo cómo puedo hacerlo
para que entienda que cuente si la celda tiene esos 2 bordes internos
marcados. Tampoco veo otra forma de poderlo hacer (como siempre ya me
estoy metiendo en camisas de once baras! Esto de no saber programación
no me ayuda demasiado).

¿Alguna idea?

Gracias de nuevo.

Myvic
Respuesta Responder a este mensaje
#2 zz
19/05/2007 - 22:41 | Informe spam
Fe de errata:

If c.Borders(xlDiagonalDown).LineStyle <> "" Then '[se puede sustituir con
xlDiagonalUP o combinar para verificar que 'tenga las dos]


^^

esta artritis
30 de septiembre "Dia internacional de la panza chelera"
Que viva la familia...
Zz

"Error: The file 'Brain.sys' could not be found in folder 'Head', body will
now work in reduced functionality mode'
Loading Heart.sys...

"zz" wrote in message
news:
te sirve una macro?:

Sub contarceldasconX()
Dim c As Range
Dim numceldasconX As Integer
numceldasconX = 0
For Each c In ActiveSheet.UsedRange
If c.Borders(xlDiagonalDown).LineStyle <> "" Then '[se puede sustituir con
xlDiagonalDown o combinar para verificar que 'tenga las dos]
numceldasconX = numceldasconX + 1
End If
Next
MsgBox numceldasconX
End Sub




30 de septiembre "Dia internacional de la panza chelera"
Que viva la familia...
Zz

"Error: The file 'Brain.sys' could not be found in folder 'Head', body
will now work in reduced functionality mode'
Loading Heart.sys...

"MyVi" wrote in message
news:
Hola grupo.

LLevo un rato mirando a ver si esto ya lo ha preguntado antes alguien,
pero no lo encuentro.

A ver si alguno de vosotros sabria cómo hacerlo.

Muchas gracias de antemano.

Tengo una columna: range(B10:B20) donde necesitaría que aquellas
celdas que tengan sus bordes marcados de una forma concreta (en este
caso seria como una "X") se cuenten.

Es decir que si de todas las celdas que hay en dicha columna, hay 2
que tienen sus bordes como tachados (espero que esto se entienda) pues
que me los cuente y en otra celda me aparezca el resultado = 2.

El caso es que tengo un calendario. Con un doble clic en un dia del
año (en dicha celda) se marca dicha celda con los bordes inclinado
derecho e izquierdo. Pero entonces necesitaria poder contar que he
marcado dicho dia.
Visualmente en el calendario puedo seleccionar tantos dias como
quiera, pero necesito un contador.

He tratado de hacerlo con "contar.si" pero no veo cómo puedo hacerlo
para que entienda que cuente si la celda tiene esos 2 bordes internos
marcados. Tampoco veo otra forma de poderlo hacer (como siempre ya me
estoy metiendo en camisas de once baras! Esto de no saber programación
no me ayuda demasiado).

¿Alguna idea?

Gracias de nuevo.

Myvic


Respuesta Responder a este mensaje
#3 MyVi
19/05/2007 - 23:34 | Informe spam
Bueno, no estoy seguro.

A ver, el caso es que necesito contarlas para que aparezca la suma en
una celda concreta.
x1= el nº de veces que en el range(x,y) hay una celda con sus dos
bordes marcados.

Es como tachar una celda para contabilizarla como 1. Si tachas dos
pues tienes 2 dias contabilizados.
El cómo tachar la celda ya lo tengo controlado. Ahora solo me falta el
poder contar el nº de celdas tachadas. Y que este resultado se muestre
en una celda.

Voy a tratar de estudiarme tu propuesta, pero mi primer vistazo ya me
ha dado problemas (de ahi que ya esté respondiendo).

gracias

MyVi
Respuesta Responder a este mensaje
#4 zz
19/05/2007 - 23:48 | Informe spam
puedes siempre adaptar el ejemplo que te porporcione para que por ejemplo:

en lugar de devolverte las celdas contadas en una 'ventanita' te las
devuelva almacenada en un valor ,

sustituyendo la parte del

"MSgbox numceldasconX"

por algo como

activesheet.range("A1").value=numceldasconX

y colocando el nombre del procedimiento en el evento SelectionChange de la
hoja activa para que siempre te este actualizando la 'cuenta'.

pero es solo una humilde sugerencia desde luego.

30 de septiembre "Dia internacional de la panza chelera"
Que viva la familia...
Zz

"Error: The file 'Brain.sys' could not be found in folder 'Head', body will
now work in reduced functionality mode'
Loading Heart.sys...

"MyVi" wrote in message
news:
Bueno, no estoy seguro.

A ver, el caso es que necesito contarlas para que aparezca la suma en
una celda concreta.
x1= el nº de veces que en el range(x,y) hay una celda con sus dos
bordes marcados.

Es como tachar una celda para contabilizarla como 1. Si tachas dos
pues tienes 2 dias contabilizados.
El cómo tachar la celda ya lo tengo controlado. Ahora solo me falta el
poder contar el nº de celdas tachadas. Y que este resultado se muestre
en una celda.

Voy a tratar de estudiarme tu propuesta, pero mi primer vistazo ya me
ha dado problemas (de ahi que ya esté respondiendo).

gracias

MyVi
Respuesta Responder a este mensaje
#5 MyVi
20/05/2007 - 00:06 | Informe spam
Vale, eso seguro que me sirve.

Veamos mi ignorancia.

Con lo que me has contado hasta el momento, no veo cómo sabe dicha
macro el rango de celdas donde ha de contar.
Mi rango seria Range("B8:AI31").
Después, me gustaria que no sea una macro, debido a que si lo es, debo
ejecutarla de alguna forma. Asi que seguro que puedo introducir dicho
código de alguna forma en Hoja1, para que se ejecute cada vez que
marco una celda (y asi me la contabiliza mostrando el resultado en la
famosa celda).

¿Me dejo más algun detalle? Es posible, pero no lo veo ahora mismo.

Espero que sea suficiente.

Gracias por todo.

MyVi
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida