Saltar al contenido

Seleccionar "x" fila y "x" rangos de la fila de una hoja y pegarlos en otra hoja


Recommended Posts

publicado

Hola a todos soy nuevo en este foro, este es mi problema tengo que crear la forma de que con un formulario el usuario introduzca en un TextBox numero de gafet y al dar clic al botón este busque y seleccione la fila donde encontró el dato y ciertos rangos sean copiados y pegados en otra hoja de Excel 2003 lo que yo hice fue crear dos hojas dentro de mi libro hoja1 se llama “bd” , hoja2 se llama “reporte”, en bd tengo una tabla con los campos

gafet nomina nombre apellido proyecto

en la hoja “reporte” se peguen gafet nomina nombre apellido , nombre y apellido juntos y la fecha y hora en cuanto caiga el dato.

Lo que yo hice fue una internas con su botón buscar este lo busca y muestra los campos que yo quier ver y cree un botón enviar el cual se envían los datos a otra tabla en otra hoja.

Este es el código:

' boton buscar

Private Sub CommandButton1_Click()

Dim id_gafet As Integer

Dim idBuscar As Integer

Dim fila As Integer

fila = 1

id_gafet = TextBoxBusca '''

Do While idBuscar <> id_gafet

fila = fila + 1

idBuscar = Range("A" & fila).Value

If idBuscar = Empty Then

MsgBox "No se encontro dato"

Exit Do

End If

Loop

Dim nom, ap As String

Dim num_gafet, num_nomina As Integer

nom = Range("C" & fila).Value

ap = Range("D" & fila).Value

TextBox2 = nom & " " & ap

TextBox3 = Range("A" & fila).Value

TextBox4 = Range("B" & fila).Value

TextBoxBusca.SetFocus

''''''''''''''''''''''''''''''''''''''''''

End Sub

' boton enviar

Private Sub CommandButton2_Click()

ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False

ActiveWorkbook.Protect Structure:=False, Windows:=False

Sheets("REPORTE").Activate

If TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Then

MsgBox "Esta dejando campos requeridos vacion favor complete", vbExclamation, "REPORTE"

TextBox3.SetFocus

Else

Range("A" & Cells.Rows.Count).End(xlUp).Offset(1).Select

ActiveCell = TextBox3.Value

ActiveCell.Offset(0, 1) = TextBox4.Value

ActiveCell.Offset(0, 2) = TextBox2.Value

'ActiveCell.Offset(0, 3) = TextBox2.Value

MsgBox "Empleado ingresado exitosamente", vbInformation, "ServiCal"

'TextBox3 = ""

TextBox4 = ""

TextBox2 = ""

TextBox2.SetFocus

End If

' codigo para colocar la hora un la columna deseada

Dim x As Long, y As Long

With ActiveSheet

x = .Cells(.Rows.Count, "D").End(xlUp).Row + 1

y = .Cells(.Rows.Count, "A").End(xlUp).Row

If x <= y Then

.Range(.Cells(x, "D"), .Cells(y, "D")) = _

DateSerial(Year(Date), Month(Date), Day(Date))

End If

End With

' codigo para colocar hora automatica

Range("D1").Select

While ActiveCell <> ""

ActiveCell.Offset(0, 1).Select

While ActiveCell <> ""

ActiveCell.Offset(1, 0).Select

Wend

ActiveCell.Value = Format(Now, "hh:mm:ss")

ActiveCell.Offset(0, -1).Select

ActiveCell.Offset(1, 0).Select

Wend

Sheets("BD").Activate

End Sub

Private Sub TextBox2_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0

End Sub

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii < 45 Or KeyAscii > 57 Then KeyAscii = 0

End Sub

Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

If KeyAscii < 47 Or KeyAscii > 57 Then KeyAscii = 0

End Sub

' boton para salir

Private Sub CommandButton3_Click()

End '--> Liquida TODAS las variables y/o similares de la memoria

Hide '--> Solo oculta el userform, mas no lo descarga de la memoria

Unload Me '--> Descarga el userform de la memoria

End Sub

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.