Como imprimir mediante una macro solo celdas escritas?

11/09/2005 - 05:47 por jaraya | Informe spam
Deseo que mediante una macro asignada a un boton, inicie proceso de impresion
solo a columnas y filas con escrituras.Es decir como puedo hacer para que
automaticamente reconosca las filas y columnas y se establesca sola la area
de impresion.

Preguntas similare

Leer las respuestas

#16 KL
13/09/2005 - 22:02 | Informe spam
Hola HM,

Bueno me he equivocado un pelin evaluando la formula matrical y tal vez haya
subestimado (un poco) el impacto de las busquedas binarias, pero...

wow !... me acabas de confirmar que 'tu' propuesta 'solamente' hace 37
operaciones 'debido' a que...
-> [para el caso de 3 columnas]... 'bajas' a una matriz_rango de 3x2 y
la operacion 'se repite'... n_veces+1
-> y 'sugieres' que NO 'importa' cual sea la 'ultima' fila -real y
verdadera-...
[de las varias decenas de miles de filas]... seran 'siempre' -solo-
37 operaciones -???-



como ya te habia dicho, conte las funciones de busqueda binaria como una
operacion, pero si quieres mas precision:

=MAX(SI(ESNUMERO(COINCIDIR({1;"T"};DESREF($C:$C;;COLUMNA($C:$E)-COLUMNA($C:$C))));COINCIDIR({1;"T"};DESREF($C:$C;;COLUMNA($C:$E)-COLUMNA($C:$C)))))1) COINCIDIR({9;"Z"};DESREF($C:$C;;COLUMNA($C:$E)-COLUMNA($C:$C)) a.. COLUMNA($C:$E)-COLUMNA($C:$C)={0\1\2} => 3 operaciones de resta b. DESREF($C:$C;;{0\1\2})={Rng1\Rng2\Rng3} => 3 operaciones dereferencia c. COINCIDIR({9;"Z"};{Rng1\Rng2\Rng3})={...\...\...;...\...\...} => Si es cierto que el numero de escaneos binarios que hace la funcionCOINCIDIR con coincidencia aproximada equivale a =REDONDEAR(LOG(N;2);0),entonces el numero maximo de escaneos debera ser=REDONDEAR(LOG(65536;2);0)Suponiendo el peor escenario obtenemos 16*6–Subtotal: 3+3+9622) ESNUMERO(COINCIDIR({1;"T"};DESREF($C:$C;;COLUMNA($C:$E)-COLUMNA($C:$C))) a. ESNUMERO({a\b\c;x\y\z})={V\F\V\F\V\F}=> 6 operaciones de resta + 102de repeticion de lo anteriorSubtotal: 6+10283) SI({V\F\V\F\V\F},{a\b\c;x\y\z})={...\...\;...\...\} => 6operaciones de evaluacionSubtotal: 64) MAX({...\...\;...\...\}) => hasta 6 operaciones de comparacion(desconozco si MAX hace un escaneo lineal o binario)Subtotal: 6Total: 102+108+6+6"2 como maximoCada columna adicional anadira aproximadamente un 30% de operaciones mas.> sin embargo... 'argumentas' que la propuesta matricial se repetira n_filasx 2 veces [mas wow !] ;)> [tendre que revisar ciertos 'paradigmas'] :))=MAX(SI($C$5:$E$1500>0,FILA($C$5:$E$1500)))1) FILA($C$5:$E$1500)={5\6\7\...\1500} => 1495 operaciones devolviendo filapara cada celda2) $C$5:$E$1500>0={V\F\V\F\V\F\...} => 1495*3D85 operaciones evaluando laequacion para cada celda3) SI({V\F\V\F\V\F\...},{5\6\7\...\1500})={...\...\;...\...\} =>4485 evaluaciones de la condicion que resultan en 4485 resultados4) MAX({...\...\;...\...\}) => hasta 4485 operaciones de comparacion(desconozco si MAX hace un escaneo lineal o binario)Total: 1495+4485+4485+4485950Saludos,KL
Respuesta Responder a este mensaje
#17 Héctor Miguel
13/09/2005 - 23:44 | Informe spam
hola, KL !

... me he equivocado... evaluando la formula matrical y... subestimado... el impacto de las busquedas binarias [...]



'resumiendo'...
-> dices que estas utilizando... cual formula ?
-> dices que das entrada... en que rango_matriz ?
-> dices que etas obteniendo... que resultados en cada celda ?
-> si necesitas 'ampliar' el numero de columnas... cuantas de las 256 columnas puedes 'monitorear' ?

saludos,
hector.
Respuesta Responder a este mensaje
#18 Héctor Miguel
14/09/2005 - 02:55 | Informe spam
hola, KL !

para elegir segun necesidades... aqui hay una excel...ente coleccion 'inicial'...
de Frank Kabel (D) & Bob Phillips
http://www.xldynamic.com/source/xld.LastValue.html
http://www.xldynamic.com/source/xld...benchmarks
Respuesta Responder a este mensaje
#19 KL
14/09/2005 - 15:08 | Informe spam
Hola HM,

Cambiando (solo un poco) del tema, tu que manejas varias versiones de
Office, ?sabes si en las versiones posteriores a la 2000 se sigue dando el
problema de LastCell/UsedRange que no se actualiza automaticamente? Se me
ocurre que una formula denominada como =GET.DOCUMENT(10)+(0*RAND()) podria
ser una opcion. La he probado en XL2000 y funciona bien salvo que hay que
resetear el rango usado si se reduce el numero de filas usadas :-(. Si todo
estuviera bien, acabariamos con algo tan simple y rapido como:

FILA=INDICAR.DOCUMENTO(10)+(0*ALEATORIO())
Print_Area¡:INDICE(1:65536;FILA;255)

Entiendo que el riesgo del famoso derrumbe de Excel en caso de copiar
nombres con funciones XML de una hoja a otra no es relevante ya que el
nombre no se usaria en ninguna hoja del libro.

?Comentas?

Saludos,
KL


"KL" wrote in message
news:
Hola HM,

http://www.xldynamic.com/source/xld.LastValue.html
http://www.xldynamic.com/source/xld...benchmarks



Conozco estas paginas, lo que no hacen estas formulas es encontrar la
ultima fila en varias columnas a la vez. Y lo de benchmarks, casi que no
hacen falta para decir que formula es mas rapida.

Saludos,
KL

Respuesta Responder a este mensaje
#20 KL
14/09/2005 - 17:36 | Informe spam
...obviamente se podria usar una UDF que resetearia el rango usado y
devolveria la fila de la ultima celda sin grandes perdidas de velocidad.
Solo que los macros tienen el inconviniente de estar siempre
habilitados/habilitables por razones diversas.

Saludos,
KL


"KL" wrote in message
news:%
Hola HM,

Cambiando (solo un poco) del tema, tu que manejas varias versiones de
Office, ?sabes si en las versiones posteriores a la 2000 se sigue dando el
problema de LastCell/UsedRange que no se actualiza automaticamente? Se me
ocurre que una formula denominada como =GET.DOCUMENT(10)+(0*RAND()) podria
ser una opcion. La he probado en XL2000 y funciona bien salvo que hay que
resetear el rango usado si se reduce el numero de filas usadas :-(. Si
todo estuviera bien, acabariamos con algo tan simple y rapido como:

FILA=INDICAR.DOCUMENTO(10)+(0*ALEATORIO())
Print_Area¡:INDICE(1:65536;FILA;255)

Entiendo que el riesgo del famoso derrumbe de Excel en caso de copiar
nombres con funciones XML de una hoja a otra no es relevante ya que el
nombre no se usaria en ninguna hoja del libro.

?Comentas?

Saludos,
KL


"KL" wrote in message
news:
Hola HM,

http://www.xldynamic.com/source/xld.LastValue.html
http://www.xldynamic.com/source/xld...benchmarks



Conozco estas paginas, lo que no hacen estas formulas es encontrar la
ultima fila en varias columnas a la vez. Y lo de benchmarks, casi que no
hacen falta para decir que formula es mas rapida.

Saludos,
KL





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