border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 23-11-2007, 16:15:59
Junior Member
Site Admin
 
Registrado: nov 2007
Posts: 3
famarthp Valoración +2
Predeterminado Seleccionar rango en excel

Hola que tal
Les comento que tengo un pequeño problema programando en VB.
Resulta que estoy tratando de escribir codigo en VB 6, para poder abrir un archivo excel, seleccionar un rango de celdas y luego que me lo asigne a variables.
El tema es que coloco la siguiente instruccion:
"ActiveSheet.Range(strCelda1Inicial & ":" & strCelda1Final, strCelda2Inicial & ":" & strCelda2Final, strCelda3Inicial & ":" & strCelda3Final).Select"

y me sale el error 1004, Error definido por la aplicacion o por el objeto, y de ahi no puedo encontrar la manera de solucionarlo.
Intente otros medios, cambiando argumentos, pero nada.
Lo que no estoy seguro es si en realidad, desde VB esto es posible ya que por los archivos de ayuda entiendo que el mensaje se da porque el compilador de VB no entiende bien que debe hacer, caso contrario a VBA donde esta mas preparado para Excel.

Alguna idea?

Desde ya muchas gracias
Responder Con Cita
  #2 (permalink)  
Antiguo 23-11-2007, 18:04:38
Avatar de malm82
Gran Participación en el Foro
 
Registrado: dic 2006
Ubicación: Cancun,Quintana Roo
Posts: 176
malm82 Valoración +2
Predeterminado

Hola, lo que puedes hacer es en el mismo excel crear una macro y ver cual es el codigo que te genera para accion de seleccionar ese rango, ya luego solo ajustaras algunos pequeños cambios al codigo para que sea como lo necesitas
__________________
Saludos desde Cancùn...
Alex malm
Código:
Pienso primero luego programo
Responder Con Cita
  #3 (permalink)  
Antiguo 23-11-2007, 18:40:37
Junior Member
Site Admin
 
Registrado: nov 2007
Posts: 3
famarthp Valoración +2
Predeterminado

Gracias por responder malm82

Sabes que si, hice esa prueba, pero que pasa, el codigo que se genera lo escribe de manera fija, como por ejemplo:
ActiveSheet.Range("C1:C10,E1:E10,G1:G10").Select
y yo necesitaria esto mismo pero que me acepte con variables, ya que el usuario podria seleccionar cualquier rango de celdas y a partir de ahi hacer los correspondientes calculos.-
Cuando lo paso con variables, de ahi que me da el error que menciono.-

Muchas gracias
Responder Con Cita
  #4 (permalink)  
Antiguo 23-11-2007, 23:31:06
Avatar de malm82
Gran Participación en el Foro
 
Registrado: dic 2006
Ubicación: Cancun,Quintana Roo
Posts: 176
malm82 Valoración +2
Predeterminado

Hola estoy checando esa parte de tu codigo y creo que es porque te faltan las comillas al inicio y fin

tu tienes
Código:
ActiveSheet.Range(strCelda1Inicial & ":" & strCelda1Final, strCelda2Inicial & ":" & strCelda2Final, strCelda3Inicial & ":" & strCelda3Final).Select
prueba de esta forma
Código:
ActiveSheet.Range("""" & strCelda1Inicial & ":" & strCelda1Final, strCelda2Inicial & ":" & strCelda2Final, strCelda3Inicial & ":" & strCelda3Final & """").Select
espero y eso solucione el error
__________________
Saludos desde Cancùn...
Alex malm
Código:
Pienso primero luego programo
Responder Con Cita
  #5 (permalink)  
Antiguo 24-11-2007, 01:06:38
Junior Member
Site Admin
 
Registrado: nov 2007
Posts: 2
Hvenegasf Valoración +2
Predeterminado seleccion de rangos variables en Excel

hola, espero poder ayudarte:

cuando tengo que hacer referencia a rangos de celdas que son variables en la ejecución del código, prefiero utilizar como paso intermedio la dirección de las celdas, de la forma que te muestro en el ejemplo:

With ActiveSheet
D1= .Cells(1, 1).Address
D2= .Cells(1,10).Address
D3= .Cells(10, 34).Address
D4= .Cells(100, 65).Address
rango = D1 & ":" & D2 & "," & D3 & ":" & D4
.Range(D1 & ":" & D2 & "," & D3 & ":" & D4).Select
End With

o, lo que es lo mismo, pero se ve mas confuso:

ActiveSheet.Range(ActiveSheet.Cells(1, 1).Address & ":" & ActiveSheet.Cells(1, 10).Address & "," & ActiveSheet.Cells(10,34).Address & ":" & _
ActiveSheet.Cells(100, 60).Address).Select

las direcciones de cells son números que puedes escribir como variables: cells(Linea_1,Columna_1), donde
Linea_1 y Columna_1 son variables que asignas en la ejecución de tu código.


Espero que te sirva.

hvenegasf
Responder Con Cita
  #6 (permalink)  
Antiguo 26-11-2007, 12:25:14
Junior Member
Site Admin
 
Registrado: nov 2007
Posts: 3
famarthp Valoración +2
Predeterminado

Gracias por responderme
Les comento que probe de las dos maneras, lo que me propone malm82 continua dando el error que menciono, con la particularidad de que a la variables no le asigna valor (""), mientras que el codigo sugerido por Hvenegasf, da el mismo error, pero las variables toman el valor cero (0).-
La verdad no me doy cuenta en donde esta el error, ya que por los resultados de estos codigos me da a entender que el problema estaria pasando por otro lado, o no, igual sigo investigando.

Muchas gracias a los dos por su ayuda.-

Saludos

Fabian
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
imprimir rango de excel en visual basic (solucionado) caroso77 Visual Basic 6.00 3 26-09-2007 00:27:00
Rango de Fechas Ronald_Leon_Madrid VBA (Excel, Word, Outlook, Access) 1 09-11-2005 16:00:26
Como seleccionar otra impresora por excel vba Francisco Alvarez VBA (Excel, Word, Outlook, Access) 2 23-08-2005 02:59:39
Establecer Rango de Datos de EXCEL Hewlett Visual Basic 6.00 1 04-03-2005 19:15:57
Rango de fecha pollitito Lenguaje SQL 7 27-12-2004 13:34:01


La franja horaria es GMT. Ahora son las 02:49:17.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right