Buscar datos en otra hoja sin buscarv

11/11/2009 - 22:24 por jforero | Informe spam
Buenas tardes grupo..

en la hoja Formulario tengo en la celda c4 el número de identificación del
cliente,

en las demás celdas digito el resto de la información del cliente para
depués con en botón btnEnviar, copio los datos a la hoja Clientes a través
del siguiente código

Private Sub btnEnviar_Click()
Dim iFila As Long
Dim wsCliente, wsCotizacion, wsVisitas As Worksheet

If opbCrearCliente.Value = True Then
Set wsCliente = Worksheets("Clientes")
'Encuentra la siguiente fila vacia
iFila = wsCliente.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Copia los datos a la hoja Clientes Eligiendo Crear / Consultar Cliente
wsCliente.Cells(iFila, 1).Value = Worksheets("Formulario").Range("c4")
wsCliente.Cells(iFila, 2).Value =
UCase(Worksheets("Formulario").Range("c5"))
wsCliente.Cells(iFila, 3).Value = Me.cmbActivo.Value
etc...
end if
'salva los datos
ActiveWorkbook.Save
End Sub

como puedo hacer a través de código para que si por ejemplo el número de
identificación ya existe en la hoja Clientes, me copie automáticamente los
datos a la hoja Formulario ejemplo..

En la hoja formulario celda c4 debo digitar el número de identificación, en
la celda c5 el nombre del cliente, en la celda e7 el numero de telefono, en
c9 la direccion de correo etc..

en la hoja Clientes al darle click en el boton btnEnviar me copia lo de las
celdas de la hoja Formulario asi:

c4 en la columna A
c5 enla columna B
e7 en la columna C
c9 en la columna D

entonces la idea es que si digito en la hoja Formulario el numero de
identificacion del cliente y este existe en la hoja clientes me copie los
datos de la hoja Clientes a la hoja formulario

Gracias por la colaboracion

Jorgef
 

Leer las respuestas

#1 Héctor Miguel
12/11/2009 - 06:35 | Informe spam
hola, jorge !

en el modulo de codigo de la hoja "formulario" copia/pega (o escribe) el siguiente procedimiento:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$4" Then Exit Sub
With Worksheets("clientes")
If Application.Countif(.Range("a:a"), Target) = 0 Then Exit Sub
With .Cells.Find(Target)
Range("a4") = .Value
Range("c5") = .Offset(, 1)
Range("e7") = .Offset(, 2)
Range("c9") = .Offset(, 3)
' etc. etc. etc.
End With
End With
End Sub

saludos,
hector.

__ OP __
en la hoja Formulario tengo en la celda c4 el numero de identificacion del cliente
en las demas celdas digito el resto de la informacion del cliente
para depues con en boton btnEnviar, copio los datos a la hoja Clientes a traves del siguiente codigo

Private Sub btnEnviar_Click()
Dim iFila As Long
Dim wsCliente, wsCotizacion, wsVisitas As Worksheet
If opbCrearCliente.Value = True Then
Set wsCliente = Worksheets("Clientes")
'Encuentra la siguiente fila vacia
iFila = wsCliente.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
'Copia los datos a la hoja Clientes Eligiendo Crear / Consultar Cliente
wsCliente.Cells(iFila, 1).Value = Worksheets("Formulario").Range("c4")
wsCliente.Cells(iFila, 2).Value = UCase(Worksheets("Formulario").Range("c5"))
wsCliente.Cells(iFila, 3).Value = Me.cmbActivo.Value
etc...
end if
'salva los datos
ActiveWorkbook.Save
End Sub

como puedo hacer a traves de codigo para que si por ejemplo el numero de identificacion ya existe en la hoja Clientes
me copie automaticamente los datos a la hoja Formulario ejemplo..
En la hoja formulario celda c4 debo digitar el numero de identificacion
en la celda c5 el nombre del cliente
en la celda e7 el numero de telefono
en c9 la direccion de correo etc..

en la hoja Clientes al darle click en el boton btnEnviar me copia lo de las celdas de la hoja Formulario asi:
c4 en la columna A
c5 enla columna B
e7 en la columna C
c9 en la columna D

entonces la idea es que si digito en la hoja Formulario el numero de identificacion del cliente y este existe en la hoja clientes
me copie los datos de la hoja Clientes a la hoja formulario

Preguntas similares