【问题标题】:Excel VBA Code to Copy Data based on a cell reference to another sheetExcel VBA代码基于单元格引用复制数据到另一个工作表
【发布时间】:2011-10-25 14:05:09
【问题描述】:

我想在 Excel 中将数据从一张表复制到另一张表。第一个工作表中数据的位置是静态的,而要复制数据的工作表、列和行是可变的,并且基于单元格数据。我想要一些有关 VB 代码的帮助。 考虑以下 Excel 表格示例数据:

`Sheet1`
'A1 = Apples'
'B1 = Sheet2'
'C1 = 5'
'D1 = 10'

在上面的示例中,我希望在 Sheet2 的第 5 列(也可以是 E 列)第 10 行有一个 VB 代码放置“Apples”。单击按钮时,这将被复制。 非常感谢您在此问题上的帮助。 兰迪

【问题讨论】:

  • Worksheets("Sheet2").Range("E10") = Worksheets("Sheet1").Range("A1") 类似的东西?
  • Copy data from another Workbook through VBA 的可能重复项 - 你可以在 Stackoverflow 上进行搜索
  • @Lil'Monkey:谢谢你的建议,但是 Sheet2 E10 值是相对的,并且可以/会改变,所以我希望有一些代码可以复制表 1 中的值,所以,我正在考虑类似 Worksheets.(B1).Range(C1&D1)= Worksheets("Sheet1").Range("A1") 的公式当然不会起作用,但类似的东西可能会。
  • @JMax:我确实进行了相当广泛的搜索。我相信您给我的样本只是将数据从一个工作簿复制到另一个工作簿。由于被复制数据的位置是可变的,我认为它可能更复杂?
  • 只是想知道为什么 Worksheets(B1).Range(C1&D1)= Worksheets("Sheet1").Range("A1") 会起作用?我知道你问问题的人哈哈,但我从来没有真正进入过 excel vba 我的意思是你的变量是有效的字符串为什么你不能把它们作为参数插入

标签: excel vba


【解决方案1】:
Dim sht, rw, col, val

With ThisWorkbook.sheets("Sheet1")
  val = .Range("A1").Value
  sht = .Range("B1").Value
  col = .Range("C1").Value
  rw = .Range("D1").Value
End with

if isnumeric(col) then
   thisworkbook.sheets(sht).Cells(rw,col).value = val
else
  thisworkbook.sheets(sht).Range(col & rw).value = val
end if

【讨论】:

  • 很好,我认为应该可以解决问题。我明天会继续工作(在泰国普吉岛晚些时候)再次非常感谢
  • 它运行良好。再次非常感谢。希望我能回馈一些东西。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-19
相关资源
最近更新 更多