我尝试根据用户定义的工作表和单元格引用复制范围中的值。例如,在A1中,我已经定义了要复制到的工作表名称,B1是要复制到&amp ;;的单元格引用。 C1是要复制的值。下面的代码仅针对第1行完成此操作,但我需要为定义范围内的所有行(即命名范围A1:C200)循环此操作,或直到该行为空。
最好我可以选择复制范围内的单元格值(例如上面的C1)或范围内存在的公式。
Sub CopyValues()
Dim SheetName
Dim CellRef
Dim Value
With ThisWorkbook.Sheets("Sheet1")
SheetName = Range("A1").Value
CellRef = Range("B1").Value
Value = Range("C1").Value
End With
ThisWorkbook.Sheets(SheetName).Range(CellRef).Value = Value
End Sub
答案 0 :(得分:0)
你几乎就在那里
Sub CopyValues()
Dim SheetName
Dim CellRef
Dim Value
With ThisWorkbook.Sheets("Sheet1")
For i = 1 to 200
SheetName = Range("A" & i).Value
CellRef = Range("B" & i).Value
Value = Range("C" & i).Value
ThisWorkbook.Sheets(SheetName).Range(CellRef).Value = Value
Next i
End With
End Sub
答案 1 :(得分:0)
Sub CopyValues()
With ThisWorkbook.WorkSheets("Sheet1")
For Each cell in .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
ThisWorkbook.Sheets(cell.Value).Range(cell.Offset(,1).Formula = cell.Offset(,2).Formula
Next
End With
End Sub
答案 2 :(得分:0)
谢谢你们俩! 我在下面解决了我的问题。
Sub CopyValues()
Dim SheetName
Dim CellRef
Dim Value
With ThisWorkbook.Sheets("Sheet1")
For i = Range("SheetNameRange").Row To Range("SheetNameRange").Row + Range("SheetNameRange").Rows.Count - 1
SheetName = Range("A" & i).Value
CellRef = Range("B" & i).Value
Value = Range("C" & i).Value
ThisWorkbook.Sheets(SheetName).Range(CellRef).Value = Value
Next i
End With
End Sub