Скопировать с активной ячейки влево, макрос 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5