hola comunidad necesito de su ayuda vba hace mas o meno lo q estoy tratando de hacer pero como yo quiero no.
lo que quiero es filtrar los datos y después q estén filtrados hay si enviarlo a la plantilla, pero si al momento de enviarlos si hay mas de lo esperado cree fila similares a las a donde lo estoy metiendo, si es a lo contrario q los introduzca pero q no me dañe el formato de la hoja. espero q me entiendas hay te dejo el código. gracias por su apoyo..
Private Sub CommandButton1_Click()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\PLANILLA.xlsm")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("MOLECHE_11.1")
Set wsDestino = wbDestino.Worksheets("planilla_2")
'Indicar la celda de origen y destino
Const celdaOrigen = "B2"
Const celdaDestino = "C9:J27"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'codigo para insertar una o varias filas para que segenere o disminuya segun la capasida de los datos que estoy pasando a la planilla
hola comunidad necesito de su ayuda vba hace mas o meno lo q estoy tratando de hacer pero como yo quiero no.
lo que quiero es filtrar los datos y después q estén filtrados hay si enviarlo a la plantilla, pero si al momento de enviarlos si hay mas de lo esperado cree fila similares a las a donde lo estoy metiendo, si es a lo contrario q los introduzca pero q no me dañe el formato de la hoja. espero q me entiendas hay te dejo el código. gracias por su apoyo..
Private Sub CommandButton1_Click()
'Definir objetos a utilizar
Dim wbDestino As Workbook, _
wsOrigen As Excel.Worksheet, _
wsDestino As Excel.Worksheet, _
rngOrigen As Excel.Range, _
rngDestino As Excel.Range
'Indicar el libro de Excel destino
Set wbDestino = Workbooks.Open(ActiveWorkbook.Path & "\PLANILLA.xlsm")
'Activar este libro
ThisWorkbook.Activate
'Indicar las hojas de origen y destino
Set wsOrigen = Worksheets("MOLECHE_11.1")
Set wsDestino = wbDestino.Worksheets("planilla_2")
'Indicar la celda de origen y destino
Const celdaOrigen = "B2"
Const celdaDestino = "C9:J27"
'Inicializar los rangos de origen y destino
Set rngOrigen = wsOrigen.Range(celdaOrigen)
Set rngDestino = wsDestino.Range(celdaDestino)
'codigo para insertar una o varias filas para que segenere o disminuya segun la capasida de los datos que estoy pasando a la planilla
'If celdaOrigen > cedldaDestino Then
'Rows(ActiveCell.Row & ":" & ActiveCell.Row + celdaDestino - 1).Insert
'End If
'If celdaOrigen > cedldaDestino Then
'Worksheets("PLANILLA").Rows("").Insert Shift:=xlDown
'End If
'____________________________________________________________________________
'Seleccionar rango de celdas origen
rngOrigen.Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
'insertar datos en celda destino
Selection.Copy
rngDestino.Insert Shift:=xlDown
'Guardar y cerrar el libro de Excel destino
wbDestino.Save
wbDestino.Close
End Sub
Private Sub CommandButton2_Click()
Dim cell As Range
Dim Rng As Range
Dim dDate As Date
Range("G1").Value = dDate
End Sub
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Mid(TextBox1.Value, 4, 2) > 12 Then
MsgBox "Invalid date, please re-enter", vbCritical
TextBox1.Value = vbNullString
TextBox1.SetFocus
Exit Sub
End If
dDate = DateSerial(Year(Date), Month(Date), Day(Date))
TextBox1.Value = Format(TextBox1.Value, "dd/mm/yyyy")
dDate = TextBox1.Value
'__________________________________________________________________________
FECHA_C = TextBox1
ActiveSheet.AutoFilterMode = False
Range("B1:I1").Select
If FECHA_C = TextBox1 Then
'Filtra datos por fecha
ActiveSheet.AutoFilterMode = False
Range("B1:I1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=FECHA_C
Else
If TextBox1 = "" Then
MsgBox "No hay datos a filtrar::"
End If
End If
ufila = Range("B" & Rows.Count).End(xlUp).Row
If ufila = 1 Then
MsgBox "No se encontraron datos a filtrar"
Else
'Prepara el rango de datos filtrados
With ThisWorkbook.Worksheets("MOLECHE_11.1")
'Set Rng = .Range("A1", .Range("A1").End(xlDown)).SpecialCells(xlCellTypeVisible)
Set Rng = .Range("B1", .Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible)
End With
End If
End Sub
Private Sub UserForm_Click()
salir(exit);
End Sub
les dejo los dos libro con que estoy trabajando me den una idea como se hace.
xls.rar