【问题标题】:VBA script to copy cell values in column to cell address given in other columnVBA脚本将列中的单元格值复制到其他列中给出的单元格地址
【发布时间】:2015-08-07 14:49:39
【问题描述】:

我希望执行以下操作:

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

   A       B       C     D     E

 1 *       C1
 2 $       E3
 3 à       C2

运行宏后,我应该有:

   A       B       C     D     E

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

【问题讨论】:

  • 您尝试过或开始使用的代码是什么?

标签: vba excel


【解决方案1】:
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

【讨论】:

    【解决方案2】:

    试试这个:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多