Sheet1からsheet2の列を設定したいと思います。 Sheet1
に列A
がある場合、Sheet2
のA
にも同じ情報が必要です。
=sheet1!A1
を使用してみましたが、A1
のsheet1
からの値のみを返します。 =sheet1!A
を使用してみましたが、#NAME?
のみを返します。
Sheet1
の列A
にダイナミックレンジがある場合(空にするか、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
あなたが正しいと理解したら、sheet1!A1をsheet2!A1に、sheet1!A2をsheet2!A2に、...正しいものにしたいですか?
最善の方法ではないかもしれませんが、次のように入力できます
= IF(sheet1!A1 <> ""、sheet1!A1、 "")
予想される最大行数までドラッグします。
Googleスプレッドシートで使用しました
={sheetname!columnnamefrom:columnnameto}
例:
={sheet1!A:A}
={sheet2!A4:A20}
Googleスプレッドシートでは、最初のセルで= ArrayFormula(Sheet1!B2:B)を使用できます。すべての列の内容は、Excelで機能するかどうか不明です
「EntireColumn」プロパティを使用します。それが目的です。 C#スニペットですが、これを行う方法の良い指標を与える必要があります:
string rangeQuery = "A1:A1";
Range range = workSheet.get_Range(rangeQuery, Type.Missing);
range = range.EntireColumn;