Foros del Web » Soporte técnico » Ofimática »

Hacer Referencia a otra Hoja desde VB?

Estas en el tema de Hacer Referencia a otra Hoja desde VB? en el foro de Ofimática en Foros del Web. Como se puede hacer esto desde VB? =SI(Hoja1!B4>0;Hoja1!B3) Lo que estube intentando fue: if Hoja1!B4>0 Then Range("A1").Value = Hoja1!B3 End if pero me da error ...
  #1 (permalink)  
Antiguo 23/01/2007, 23:43
Avatar de Pablus00  
Fecha de Ingreso: diciembre-2003
Ubicación: A un click de distancia
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 11
Hacer Referencia a otra Hoja desde VB?

Como se puede hacer esto desde VB?

=SI(Hoja1!B4>0;Hoja1!B3)


Lo que estube intentando fue:

if Hoja1!B4>0 Then
Range("A1").Value = Hoja1!B3
End if

pero me da error al referirme a una celda de otra hoja..
__________________
-- Nunca te des por vencido, aún vencido -- Web
  #2 (permalink)  
Antiguo 24/01/2007, 03:59
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 4 meses
Puntos: 144
Re: Hacer Referencia a otra Hoja desde VB?

Se puede hacer de 2 formas:

Si entras en modo VBA (Alt + F11), arriba a la izquierda verás que dentro de la carpeta Microsoft Excel Objetos, te aparecen las hojas de cálculo que tienes. Esas hojas de cálculo o pestañas, tienen 2 nombres que pueden coincidir o no: uno es el que hay fuera del paréntesis y otro el que hay dentro. Por ejemplo, podrías tener esto:
Código:
Hoja1 (Hoja1)
O bien esto:
Código:
Hoja1 (FACTURA)
Si te fijas, lo que hay fuera del paréntesis es el nombre interno de las hojas de cálculo que tiene el libro, y lo que hay entre paréntesis es el nombre que le da el usuario a esas hojas de cálculo.

Bueno, pues dicho eso, te puedes referir a las hojas de cálculo, ya sea por su nombre interno, o por el nombre que le has dado.

Método 1:
Código:
Sub ejemplo_1()
'Nos referimos a la hoja, por su nombre interno, es decir,
'por el nombre que hay fuera del paréntesis
If Hoja2.Range("A1") = 1 Then Range("A1") = "En la hoja 2, hay un 1 en A1"
end sub
Método 2:
Código:
Sub ejemplo_2()
'Nos referimos a la hoja, por el nombre que le hemos dado (aunque puede que no
'se lo hayamos cambiado, pero será también el nombre "visible" de la hoja),
'es decir, por el nombre que hay dentro del paréntesis
If Sheets("FACTURA").Range("A2") = 2 Then Range("A2") = "En la hoja 2, hay un 2 en A2"
End Sub
Salu2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:35.