Скопировать с активной ячейки влево, макрос VBA
Формулировка задачи:
Здравствуйте. есть данные в Excel
нужно скопировать с активной ячейки лишь из столбца E5:E10, и вставить влево только выделенные, при этом цвета и пустые ячейки не копировать, а только значения
в вложении есть пример 2 макросов недоработанных
Если это возможно то получится ли, чтобы автоматически и ежедневно копировало с 24:00 по 2:00 ночи времени с E5:E10 в D510
Решение задачи: «Скопировать с активной ячейки влево, макрос VBA»
textual
Листинг программы
Public TimerFlag As Boolean
Public MyEarliestTime As Variant
Sub Timer_Tick()
If TimerFlag Then
If Now <= Date + TimeValue("02:00:00") Then
Call КопирOвать_непустые_E5_E10_влево
MyEarliestTime = Now + TimeValue("00:00:01")
Else
MyEarliestTime = Date + 1
End If
Application.OnTime EarliestTime:=MyEarliestTime, Procedure:="Timer_Tick"
End If
End Sub
Sub Копировать_выделенные_непустые_ячейки_из_Е_влево()
Dim r As Range, C As Range
Set r = Intersect(Application.Selection, ActiveSheet.UsedRange)
Set r = Intersect(r, Columns(5))
If Not r Is Nothing Then
For Each C In r.Columns(1).Cells
If Trim(C) <> "" Then C.Offset(, -1) = C
Next C
End If
End Sub
Sub КопирOвать_непустые_E5_E10_влево()
Dim i As Integer
For i = 5 To 10
With Cells(i, 5)
If Trim(.Value) <> "" Then
.Offset(, -1) = .Value
End If
End With
Next i
End Sub