我想从sheet1填充sheet2中的列。如果我在A
中有Sheet1
列,我希望A
中的Sheet2
具有相同的信息。
我尝试使用=sheet1!A1
,但它只返回A1
中sheet1
的值。我尝试使用=sheet1!A
,但它只返回#NAME?
。
如果来自A
的列Sheet1
具有动态范围(它可以为空或者有500或1000行(我正在从我的数据库中填充sheet1))。如何在显示所有500或1000行的另一个工作表中使用其中一些列?
答案 0 :(得分:4)
下面的代码将查找sheet1中最后使用的行,并将整个范围从A1到A列中最后一次使用的行复制到完全相同的位置。
Sub test()
Dim lastRow As Long
lastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A1:A" & lastRow).Value = Sheets("Sheet1").Range("A1:A" & lastRow).Value
End Sub
答案 1 :(得分:4)
我在Google表格中使用过
${arr[@]:start:len}
示例:
={sheetname!columnnamefrom:columnnameto}
={sheet1!A:A}
答案 2 :(得分:3)
如果我理解你,你想要在sheet2中使用sheet1!A1!A1,sheet1!A2在sheet2中!A2,......对吗?
这可能不是最佳方式,但您可以输入以下内容
= IF(Sheet 1中A1<!> “中”!,Sheet 1中A1, “”)
并将其向下拖动到您期望的最大行数。
答案 3 :(得分:1)
在Google表格中,你可以在第一个单元格上使用= ArrayFormula(Sheet1!B2:B),它将填充所有列内容,不确定它是否可以在excel中使用
答案 4 :(得分:0)
使用' EntireColumn'财产,它是什么。 C#片段,但应该给你一个很好的指示:
string rangeQuery = "A1:A1";
Range range = workSheet.get_Range(rangeQuery, Type.Missing);
range = range.EntireColumn;