Я использую MS Excel 2010 и хочу, чтобы при вводе любого значения или слова в ячейку A1 оно автоматически переводилось в ячейку D1, а ячейка A1 снова становилась пустой. Аналогичным образом, если я введу какое-либо значение или слово в ячейку A2, оно должно автоматически быть перенесено в ячейку D2, а ячейка A2 снова станет пустой и так далее.

Пожалуйста, предложите мне любой способ, формулу или кодирование VBA, чтобы сделать это. Кто-то предложил мне следующие коды VBA для сдвига значений, но эти коды работают только для ячейки A1. А именно, эти коды могут сдвигать значение ячейки A1 только в ячейку D1, но я хочу, чтобы весь столбец A работал так, как я хочу.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim wks As Worksheet
Set wks = ActiveSheet
theRow = Target.Row
theColumn = Target.Column
theValue = Target.Value
If theRow = 1 Then
If theColumn = 1 Then
    Application.EnableEvents = False
    wks.Cells(1, 4) = theValue
    Target.Clear
    Application.EnableEvents = True
End If
End If
End Sub

1 ответ1

1

Попробуйте это:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
        Target.Offset(0, 3).Value = Target.Value
        Target.Clear
    Application.EnableEvents = True
End Sub

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