VBA脚本将列中的单元格值复制到其他列中给出的单元格地址

我期待着做到以下几点:

我有一列有值和一列与单元格地址。 我想将列A中的值复制到列B中的单元格地址。VBA脚本应运行,直到有一个空单元格。

ABCDE 1 * C1 2 $ E3 3 à C2 

我运行macros后,我应该有:

  ABCDE 1 * C1 * 2 $ E3 à 3 à C2 $ 

 Option Explicit Public Sub copyValues() Dim ws As Worksheet, cel As Range, ur As Range Set ws = Sheet1 Set ur = ws.Range("A1:A" & ws.Cells(ws.UsedRange.Rows.Count + 1, 1).End(xlUp).Row) For Each cel In ur If Len(cel.Offset(0, 1)) > 0 Then ws.Range(cel.Offset(0, 1).Value2) = cel Next End Sub 

试试这个:

 Sub CopyPasteCellValues() Dim lastrow As Long, x As Long Dim RangeValues As Range, cell As Range Dim address As String lastrow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row 'RangeValues is a collection of all cell values that are supposed to be copied and pasted Set RangeValues = Range(Cells(1, 1), Cells(lastrow, 1)) x = 1 For Each cell In RangeValues address = Cells(x, 2).Value Range(address) = Cells(x, 1) x = x + 1 Next cell End Sub