セル範囲に値を入力する(Microsoft Excel)
ジョナサンはマクロを作成しており、セルの範囲を値で埋める必要があります。たとえば、彼が範囲A1:C1を埋める必要がある場合、現在、その範囲を埋めるには3つのステートメントが必要です。
Range("A1") = "Test1" Range("B1") = "Test2" Range("C1") = "Test3"
彼は、次のように、それらを1つのステートメントに入力する方法があるかどうか疑問に思います。
Range("A1:C1") = ("Test1","Test2","Test3")
ジョナサンの希望する構文は近いですが、機能しません。仕組みは次のとおりです:
Range("A1:C1") = Array("Test1","Test2","Test3")
Arrayステートメントの使用に注意してください。これは、以下が演算子の左側のセルのシーケンスで使用される値のシーケンスと見なされる必要があることをVBAに通知します。興味深いことに、次に示すように、値を変数に詰め込んだり、Arrayステートメントを使用したりすることもできます。
sOne = "Apples" sTwo = "Oranges" sThree = "Artichokes" Range("A1:C1") = Array(sOne, sTwo, sThree)
必要に応じて、ストレート変数を使用することもできます。
Dim sMyStrings(2) As String sMyStrings(0) = "Apples" sMyStrings(1) = "Oranges" sMyStrings(2) = "Artichokes" Range("A1:C1") = sMyStrings
上記のコードは、次のように書き直すこともできます。
Dim sMyStrings(2) As String sMyStrings = Array("Apples", "Oranges", "Artichokes") Range("A1:C1") = sMyStrings
最後に、値を行ではなく単一の列に配置する場合は、次のように転置関数を使用する必要があります。
Range("A1:A3") = Application.Transpose(Array("Test1","Test2","Test3"))
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(11701)は、Microsoft Excel 97、2000、2002、および2003に適用されます。
Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります:
linkセルの範囲に値を入力。