如果只更改了一个单元格或范围("b2:e2")数据,我如何将每个数据复制到另一个 sheet.cell(i,1) 一次一个变量,如 vba代码
if just one cell or range("b2:e2") data was changed, how can i copy each data to another sheet.cell(i,1) one-variable-at-a-time as vba code
例如,(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) = _____
等等。
那么我如何输入代码才能像这样工作呢?
如果我的英文打字很难理解,我深表歉意
因为我是韩国人,我不会说流利的,但是,我能听懂你的话。
我无法在我的国家找到确切的解决方法。
希望得到大家的帮助,谢谢
使用下面的代码,您可以将新值复制到 sheet2 的同一列中。
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
例如,(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) = _____
等等。 那么我如何输入代码才能像这样工作呢? 如果我的英文打字很难理解,我深表歉意 因为我是韩国人,我不会说流利的,但是,我能听懂你的话。 我无法在我的国家找到确切的解决方法。 希望得到大家的帮助,谢谢
使用下面的代码,您可以将新值复制到 sheet2 的同一列中。
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