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.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    3    1

  • Crear macros Excel

  • Mensajes

    • Saludos amigos espero estén bien  En la actualidad utilizo la siguiente macro para generar un código alfanumérico continuo que al guardar los datos se copia en la Celdas “B5” de las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Private Sub CommandButton3_Click()     If Hoja58.Range("B5").Value < 9999 Then Hoja58.Range("B5").Value Hoja58.Range("B6").Value + 1     Else        Hoja58.Range("B5").Value = 1     End If If Hoja59.Range("B5").Value < 9999 Then Hoja59.Range("B5").Value = Hoja59.Range("B6").Value + 1 Else        Hoja59.Range("B5").Value = 1     End If End Sub El código se genera normalmente sin embargo no se copia inmediatamente en las Celdas “B5” sino que aparece en las Celdas “B6” mientras que las Celdas “B5” siempre permanecen en blanco, actualmente el código consta de tres letras y cuatro dígitos (RCI-0000) pero me interesa poderle concatenar el mes y año en formato mm-yy para que el código finalmente quede expresado de la siguiente forma RCI-0000-00-00 Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • Saludos amigos espero estén bien  En la actualidad  los datos provenientes de los TextBox 5, 6 y 7 se guardan en las Columnas H, I y O de las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) sin embargo cuando el texto es abundante no se visualiza completamente en las celdas correspondientes de allí que necesito que cada fila se ajuste al tamaño de la celda que contenga mayor cantidad de texto para lo cual he probado con la siguiente macro: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Cells.EntireRow.AutoFit End Sub Sin embargo, dicha macro coloca todas las filas del tamaño del texto que contengan y lo que en realidad necesito es que dicha macro solo se aplique desde la Fila 5 en adelante. Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • Saludos amigos espero estén bien  En la actualidad utilizo la siguiente macro para que la fecha aparezca en el Textbox2: Private Sub UserForm_activate() Me.TextBox2.Value = VBA.Date End Sub Sin embargo, una vez guardo los datos la fecha cambia de formato y se guarda en formato mm/dd/yyyy en vez de dd/mm/yyyy y este cambio de fecha me distorsiona los resultados de las fórmulas en las Columnas J en las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm
    • ¡Hola! Después de un buen tiempo ausente...  @Gabriela hg ya que veo que tienes Excel 365, te dejo mi solución para piezas y gramos.   Extraer piezas - gramos 365_GP.xlsx
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.