Hola a todos. Tengo dos hojas: HojaOrigen y HojaDestino. Quiero pasar varios rangos a la vez de la HojaOrigen a HojaDestino. Pero no me deja COPIAR varios rangos a la vez. Como lo hago? Me han comentado algo de los ARRAYS pero no se como.
Code:
Sub Pasa_Datos()
Dim fecha, Fecha2, I, I2, Encontrado, Encontrado2, mensaje
Encontrado = False
Encontrado2 = False
I = 16
Y = 24
fec = InputBox("Indica fecha para pasar los Datos: (dd-mm-aa)", "Pasar Datos diarios a Glade Furnace Data")
'Si Fec es igual a vacio(cancelar) entonces se sale de la macro
If fec = "" Then End
fecha = FormatDateTime(fec, vbShortDate)
Fecha2 = fecha
Do While ((Range("A" & I) <> "") And Not (Encontrado))
If (FormatDateTime(Range("A" & I).Value, vbShortDate) = fecha) Then
Encontrado = True
Else
I = I + 3
End If
Loop
If Not (Encontrado) Then
mensaje = MsgBox("Error en la fecha. Comprueba que la fecha sea correcta.", vbOKOnly, "FECHA ERRONEA")
Else
********************************************************************************
Range("D" & I & ":F" & I).Select
Range("G" & I & "J" & I).Select
Range("L" & I & "Q" & I).Select '''''''''''''''''''''''''''''''' AQUI ESTA MI PROBLEMA. Me gustaria seleccionar
Selection.Copy ''''''''''''''''''''''''''''''' todos los rangos a la vez.
********************************************************************************
'Abre HojaDestino
On Error GoTo 0
Workbooks.Open ("D:\EXCEL\PLANILLAS\HojaDestino.xls")
Windows("HojaDestino.xls").Activate
Sheets("Datos").Select
Do While Range("A" & Y).Value <> "" And FormatDateTime(Range("A" & Y).Value, vbShortDate) <> Fecha2
Y = Y + 1
Loop
If FormatDateTime(Range("A" & Y).Value, vbShortDate) = Fecha2 Then
Range("AZ" & Y).Select
End If
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.Wait Now + TimeValue("00:00:03")
ActiveWorkbook.Save
ActiveWorkbook.Close
Windows("HojaOrigen.xls").Activate
Application.CutCopyMode = False
mensaje = MsgBox("Los datos se han pasado correctamente.", vbInformation, "PROCESO DE DATOS")
End If
End Sub
Last edited by a moderator: