如何从单元格中提取列(Excel、VBA)
我在尝试编写第一个Excel VBA宏时遇到(运行时错误“1004”:应用程序定义或对象定义错误)错误。我在stack overflow和其他网站上也看到过类似的问题,但我的问题似乎比其他人的问题更基本 目前,我正在尝试从一张工作表的两个单元格中获取数据,并将它们写入另一张工作表。我知道,尝试查找我按单元格或行引用的单元格的列或行是不必要的,但最终我将使用for循环,并用变量替换特定的单元格引用 以下是我的两行代码:如何从单元格中提取列(Excel、VBA),excel,vba,range,Excel,Vba,Range,我在尝试编写第一个Excel VBA宏时遇到(运行时错误“1004”:应用程序定义或对象定义错误)错误。我在stack overflow和其他网站上也看到过类似的问题,但我的问题似乎比其他人的问题更基本 目前,我正在尝试从一张工作表的两个单元格中获取数据,并将它们写入另一张工作表。我知道,尝试查找我按单元格或行引用的单元格的列或行是不必要的,但最终我将使用for循环,并用变量替换特定的单元格引用 以下是我的两行代码: Worksheets("Sheet2").Range("A1").Value
Worksheets("Sheet2").Range("A1").Value = Worksheets("Sheet1").Range("A" & Worksheets("Sheet1").Range("B2").Row).Value
Worksheets("Sheet2").Range("B1").Value = Worksheets("Sheet1").Range(Worksheets("Sheet1").Range("B2").Column & "1").Value
第一行运行良好。它将Sheet1的A2写入Sheet2的A1。
第二行没有运行,没有将Sheet1的B1写入Sheet2的B1,引用了错误,我不确定原因
谢谢你的时间和帮助 .Columns属性返回整数,而不是字母。如果要定义具有数字行和数字列的范围,请使用
Worksheets("Sheet2").Range("B1").Value = Worksheets("Sheet1").Cells(1, Range("B2").Column).Value
我想这有一个更大的目的,但实际上,这是一个非常冗长的代码。您问题的最后一行说您想用Sheet1-A2填充Sheet2-A1,用Sheet1-B1填充Sheet2-B1 最直接的方法是
Worksheets("Sheet2").Range("A1") = Worksheets("Sheet1").Range("A2")
Worksheets("Sheet2").Range("B1") = Worksheets("Sheet1").Range("B1")
我和你一样是VBA的初学者。您不需要了解VBA中的所有内容,就可以高效地使用它。我通过录制制作了第一个宏,它成功了(但效率低得令人绝望) 我有一个与你类似的问题:在另一张工作表上查找数据。我创建了以下函数: 函数GetMyNumber(C3ll) MyCol=C3ll.Column GetMyNumber=mycl 端函数 要在电子表格中使用它,只需在某些单元格中输入公式,如D5 =GetMyNumber(D5) 重新计算时,数字4显示在单元格D5中。如果将单元格D5复制到单元格F3中,您将在F3中看到,=GetMyNumber(F3),calculate将返回一个6。当然,您可以填写或横跨,参数将更改为公式所在的单元格。如果需要,可以使用引用任何单元格的参数进行偏移 完成此操作后,可以插入代码进行匹配,并执行其他任务,这些任务使用列编号mycl从其他工作表中提取编号。记住,MyCol是一个整数 希望这有帮助