自动从另一张表单中填充一个表格中的列

我想从sheet1中填充sheet2中的列。 如果我在Sheet1有列A ,我希望Sheet2 A具有相同的信息。

我试过使用=sheet1!A1但它只返回=sheet1!A1的值。 我试过使用=sheet1!A但它只返回#NAME?

如果来自Sheet1A有一个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} 

例:

  1. ={sheet1!A:A}
  2. ={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中使用