если была изменена только одна ячейка или диапазон ("b2: e2"), как я могу скопировать все данные в другую переменную sheet.cell (i, 1) по одной переменной в виде кода VBA? - PullRequest
0 голосов
/ 16 мая 2019

Например, в (B2: E2) есть внешние данные, вариант которых постоянно меняется сам по себе.И я хочу скопировать каждую из них в sheet2 и каждую ячейку по одной переменной за раз.например,

cells(1,1) = 200 cell(1,2) = alpa
cells(2,1) = 250 cell(2,2) = veta
cells(i,1) = ___ cell(i,2) = _____

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

1 Ответ

0 голосов
/ 16 мая 2019

С помощью приведенного ниже кода вы можете скопировать новое значение в тот же столбец листа 2.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim ColNo As Long, ColLR As Long

    With ThisWorkbook
        Set ws1 = .Worksheets("Sheet1")
        Set ws2 = .Worksheets("Sheet2")
    End With

    If Not Intersect(Target, ws1.Range("B2:E2")) Is Nothing And Target.Count = 1 Then

        ColNo = Target.Column

        With ws2

            ColLR = .Cells(.Rows.Count, ColNo).End(xlUp).Row
            .Cells(ColLR + 1, ColNo).Value = Target.Value

        End With

    End If

End Sub
...