-1

Я сделал этот макрос, чтобы выбрать ячейку A3, скопировать значение и вставить его в ячейку Y3. Затем он очищает ячейку A3, так как это выпадающий список, благодаря чему теперь можно выбрать опцию выпадающего меню в A4.

CopyPasteDelete Macro

    Range("A3").Select
    Selection.Copy

    Range("Y3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Range("A3").Select
    Selection.ClearContents

    Range("Y3").Select

End sub

Возможно ли, что я могу скопировать этот макрос, изменив A3 на A4 и Y3 на Y4, и связать его с другим флажком в Z4?

Или я должен сделать это трудным путем и скопировать его снова и снова, изменяя макрос и добавляя еще один флажок?

2 ответа2

0

Примерно так, просто определите свой диапазон и смещение правильно

Sub test()
Dim c As Range
For Each c In Range("A1:A100")
   c.Offset(, 24) = c
   c.ClearContents
Next
End Sub

Если вы предпочитаете делать это по-другому, вы можете перебирать ячейки -

Option Explicit
Sub test()
Dim i As Integer
Dim j As Integer
i = Range("A" & Rows.Count).End(xlUp).Row
For j = 1 To i
    Cells(j, "Y") = Cells(j, "A")
    Cells(j, "A").ClearContents
Next
End Sub
0

Если вы основываете относительное расположение на том месте, где находится текущая выделенная ячейка или активная ячейка, у вас могут быть ячейки любой строки из столбцов A и Y, которые выполняют эти задачи.

Sub A2Y()
    Dim r As Long, sr As Long
    If Not Intersect(Selection, ActiveSheet.UsedRange) Is Nothing Then
        For r = 1 To Intersect(Selection, ActiveSheet.UsedRange).Rows.Count
            sr = Intersect(Selection, ActiveSheet.UsedRange).Cells(r, 1).Row
            Cells(sr, "Y") = Cells(sr, "A").Value
            Cells(sr, "A").ClearContents
        Next r
        Cells(r - 1, "Y").Select
    End If
End Sub

Это будет смотреть на то, какие ячейки вы выбрали, и для каждой из них, которые находятся внутри UsedRange рабочего листа, он возьмет эту строку и переместит значение из столбца A в столбец Y и очистит столбец A.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .