Obtener titulos de las columnas

04/04/2007 - 13:44 por Chapter | Informe spam
Hola buenos dias, mi problema es el siguiente.

Tengo una tabla, en la columna 1 deseo obtener los titulos separados
por ejemplo por punto y coma que estan en la fila uno, del tipo 1.1,
1.2, etc atendiendo a si debajo de cada uno pone "SI" o "NO".

Seria esto mas o menos

Faltan 1.1 1.2 1.3 1.4

1.1; 1.3 NO SI NO SI


Un saludo

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
08/04/2007 - 22:06 | Informe spam
hola, david !

1) al final copio/pego un 'resumen' de los datos expuestos en tus consultas, de acuerdo con los cuales...
[si te he entendido bien]... tal parece que lo que necesitas es una funcion personalizada -?-

2) con los siguientes 'supuestos'...
a) el indice o [sub]capitulacion ya lo tienes [p.e.] en el rango 'B1:N1'
b) el criterio/anotacion/... de SI o NO hacen falta ya lo tienes [p.e.] en el rango 'B2:N2'
c) en la fila de los SI/NO [es decir, en la celda 'A2'] usas la siguiente funcion personalizada:
=Faltantes(B1:N1,B2:N2) [suponiendo una sola fila de SI/NO]
=Faltantes(B$1:N$1,B2:N2) [suponiendo una fila compartida de titulos y varias filas de SI/NO]
OJO: mi separador de argumentos es la coma

3) copia/pega las siguientes lineas en un modulo de codigo 'estandar/normal/general/...'
-> NO en ThisWorkbook ni nada 'parecido':

Function Faltantes(Titulos As Range, Criterio As Range) As String
Dim Celda As Range, Filas As Byte, Cols As Byte, Temp As String
Filas = Criterio.Row - Titulos.Row
Cols = Criterio.Column - Titulos.Column
For Each Celda In Titulos
If LCase(Celda.Offset(Filas, Cols)) = "no" Then Temp = Temp & Celda & "; "
Next
If Len(Temp) Then Faltantes = Left(Temp, Len(Temp) - 2)
End Function

nota: no tiene 'preparacion/correccion/prevencion/...' por posibles 'errores' en el uso de los argumentos :-(
se espera que la utilizaras 'bajo' los criterios y comentarios de tus exposiciones en las consultas :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

'el resumen':
__ consulta 1 __
Tengo una tabla, en la columna 1 deseo obtener los titulos separados por ejemplo por punto y coma
que estan en la fila uno, del tipo 1.1, 1.2, etc atendiendo a si debajo de cada uno pone "SI" o "NO".
Seria esto mas o menos
Faltan 1.1 1.2 1.3 1.4
1.1; 1.3 NO SI NO SI


__ consulta 2 __
El 1.1, 1.2, 1.3 etc son apartados que hay que rellenar.
El Si y No los relleno yo tambien con un desplegable cuando se han llevado a cabo los apartados.
Despues hay una columna donde deberia aparecer el numero de los apartados que contienen el "NO" para poder llevarlos a cabo.
Esa columna "Faltan" es la que deberia rellenarse automaticamente.


__ consulta 3 __
La matriz no siempre incrementa de 0.1 en 0.1; realmente son subapartados
asi el apartado 1 tiene 6 puntos, pero 2 solo tiene 2, el 3 tiene 5...
asi la matriz seria 1.1 1.2 1.3 1.4 1.5 1.6 2.1 2.2 3.1 3.2...
esa seria la matriz de titulos, situandose el 1.1 en 1B el 1.2 en 1C etc.
en 2B, 2C, 2D, 3B, 3C etc puede haber un "SI" o un "NO".
En 2A, 3A, 4A... espero obtener los valores de la fila 1 a los que corresponda un "NO" en la fila correspondiente
osea, si en la fila 2 hay un "NO" en 2B y 2D, en 2A deberia indicar "1.1; 1.3"
Respuesta Responder a este mensaje
#7 Chapter
09/04/2007 - 09:22 | Informe spam
On 8 abr, 22:06, "Héctor Miguel"
wrote:
hola, david !

1) al final copio/pego un 'resumen' de los datos expuestos en tus consultas, de acuerdo con los cuales...
[si te he entendido bien]... tal parece que lo que necesitas es una funcion personalizada -?-

2) con los siguientes 'supuestos'...
a) el indice o [sub]capitulacion ya lo tienes [p.e.] en el rango 'B1:N1'
b) el criterio/anotacion/... de SI o NO hacen falta ya lo tienes [p.e.] en el rango 'B2:N2'
c) en la fila de los SI/NO [es decir, en la celda 'A2'] usas la siguiente funcion personalizada:
=Faltantes(B1:N1,B2:N2) [suponiendo una sola fila de SI/NO]
=Faltantes(B$1:N$1,B2:N2) [suponiendo una fila compartida de titulos y varias filas de SI/NO]
OJO: mi separador de argumentos es la coma

3) copia/pega las siguientes lineas en un modulo de codigo 'estandar/normal/general/...'
-> NO en ThisWorkbook ni nada 'parecido':

Function Faltantes(Titulos As Range, Criterio As Range) As String
Dim Celda As Range, Filas As Byte, Cols As Byte, Temp As String
Filas = Criterio.Row - Titulos.Row
Cols = Criterio.Column - Titulos.Column
For Each Celda In Titulos
If LCase(Celda.Offset(Filas, Cols)) = "no" Then Temp = Temp & Celda & "; "
Next
If Len(Temp) Then Faltantes = Left(Temp, Len(Temp) - 2)
End Function

nota: no tiene 'preparacion/correccion/prevencion/...' por posibles 'errores' en el uso de los argumentos :-(
se espera que la utilizaras 'bajo' los criterios y comentarios de tus exposiciones en las consultas :))

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

'el resumen':
__ consulta 1 __




Va a ser la primera vez que use esto, y no se a donde tengo que ir
para insertar ese codigo

Un saludo
Respuesta Responder a este mensaje
#8 Héctor Miguel
09/04/2007 - 17:54 | Informe spam
hola, david !

Va a ser la primera vez que use esto, y no se a donde tengo que ir para insertar ese codigo



1) procura que el libro activo sea aquel donde vas a utilizar 'esta' funcion personalizada
2) abre el editor de vba -> atajo de teclado= {Alt}+{F11}
3) inserta un modulo de codigo general [menu] insertar / modulo
4) copia/pega las instrucciones del ejemplo
5) cierra el editor de vba... 'regresa' a excel... y ya puedes usar la funcion personalizada

si cualquier duda... comentas ?
saludos,
hector.


2) con los siguientes 'supuestos'...
a) el indice o [sub]capitulacion ya lo tienes [p.e.] en el rango 'B1:N1'
b) el criterio/anotacion/... de SI o NO hacen falta ya lo tienes [p.e.] en el rango 'B2:N2'
c) en la fila de los SI/NO [es decir, en la celda 'A2'] usas la siguiente funcion personalizada:
=Faltantes(B1:N1,B2:N2) [suponiendo una sola fila de SI/NO]
=Faltantes(B$1:N$1,B2:N2) [suponiendo una fila compartida de titulos y varias filas de SI/NO]
OJO: mi separador de argumentos es la coma

3) copia/pega las siguientes lineas en un modulo de codigo 'estandar/normal/general/...'
-> NO en ThisWorkbook ni nada 'parecido':

Function Faltantes(Titulos As Range, Criterio As Range) As String
Dim Celda As Range, Filas As Byte, Cols As Byte, Temp As String
Filas = Criterio.Row - Titulos.Row
Cols = Criterio.Column - Titulos.Column
For Each Celda In Titulos
If LCase(Celda.Offset(Filas, Cols)) = "no" Then Temp = Temp & Celda & "; "
Next
If Len(Temp) Then Faltantes = Left(Temp, Len(Temp) - 2)
End Function

nota: no tiene 'preparacion/correccion/prevencion/...' por posibles 'errores' en el uso de los argumentos :-(
se espera que la utilizaras 'bajo' los criterios y comentarios de tus exposiciones en las consultas :))
Respuesta Responder a este mensaje
#9 Chapter
09/04/2007 - 18:46 | Informe spam
On 9 abr, 17:54, "Héctor Miguel"
wrote:
hola, david !

> Va a ser la primera vez que use esto, y no se a donde tengo que ir para insertar ese codigo

1) procura que el libro activo sea aquel donde vas a utilizar 'esta' funcion personalizada
2) abre el editor de vba -> atajo de teclado= {Alt}+{F11}
3) inserta un modulo de codigo general [menu] insertar / modulo
4) copia/pega las instrucciones del ejemplo
5) cierra el editor de vba... 'regresa' a excel... y ya puedes usar la funcion personalizada

si cualquier duda... comentas ?
saludos,
hector.



> 2) con los siguientes 'supuestos'...
> a) el indice o [sub]capitulacion ya lo tienes [p.e.] en el rango 'B1:N1'
> b) el criterio/anotacion/... de SI o NO hacen falta ya lo tienes [p.e.] en el rango 'B2:N2'
> c) en la fila de los SI/NO [es decir, en la celda 'A2'] usas la siguiente funcion personalizada:
> =Faltantes(B1:N1,B2:N2) [suponiendo una sola fila de SI/NO]
> =Faltantes(B$1:N$1,B2:N2) [suponiendo una fila compartida de titulos y varias filas de SI/NO]
> OJO: mi separador de argumentos es la coma

> 3) copia/pega las siguientes lineas en un modulo de codigo 'estandar/normal/general/...'
> -> NO en ThisWorkbook ni nada 'parecido':

> Function Faltantes(Titulos As Range, Criterio As Range) As String
> Dim Celda As Range, Filas As Byte, Cols As Byte, Temp As String
> Filas = Criterio.Row - Titulos.Row
> Cols = Criterio.Column - Titulos.Column
> For Each Celda In Titulos
> If LCase(Celda.Offset(Filas, Cols)) = "no" Then Temp = Temp & Celda & "; "
> Next
> If Len(Temp) Then Faltantes = Left(Temp, Len(Temp) - 2)
> End Function

> nota: no tiene 'preparacion/correccion/prevencion/...' por posibles 'errores' en el uso de los argumentos :-(
> se espera que la utilizaras 'bajo' los criterios y comentarios de tus exposiciones en las consultas :))- Ocultar texto de la cita -

- Mostrar texto de la cita -



Ya Funciona perfectamente, muchas gracias por tu ayuda

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