自动从另一张表单中填充一个表格中的列
我想从sheet1中填充sheet2中的列。 如果我在Sheet1
有列A
,我希望Sheet2
A
具有相同的信息。
我试过使用=sheet1!A1
但它只返回=sheet1!A1
的值。 我试过使用=sheet1!A
但它只返回#NAME?
。
如果来自Sheet1
列A
有一个dynamic范围(它可以是空的或有500或1000行(我从我的数据库填充sheet1))。 如何在另一个表格中显示所有500或1000行的列?
下面的代码将查找sheet1中最后一次使用的行,并将完全相同的位置从A1到最后使用的列在A列中的整个范围复制到Sheet2。
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
我已经在Google表格中使用过
={sheetname!columnnamefrom:columnnameto}
例:
-
={sheet1!A:A}
-
={sheet2!A4:A20}
如果我明白你的意思,你希望在sheet2!A1中有sheet1!A1,在sheet2!A2中有sheet1!A2,对吧?
这可能不是最好的方法,但可以input以下内容
= IF(Sheet 1中!A1 <> “”,工作表Sheet!A1, “”)
并将其拖动到您所期望的最大行数。
使用“EntireColumn”属性,这就是它的目的。 C#代码片段,但应该给你一个很好的指示如何做到这一点:
string rangeQuery = "A1:A1"; Range range = workSheet.get_Range(rangeQuery, Type.Missing); range = range.EntireColumn;
在Google表格中,您可以在第一个单元格上使用= ArrayFormula(Sheet1!B2:B),并且它将填充所有列内容,不确定这些内容是否可以在Excel中使用