• ベストアンサー

Range("****")の****部分を変数にできますか?

kakusukeの回答

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.3

.valueを省いてみたらどうですか?

tomosato
質問者

お礼

早速のご指導ありがとうございました。 valueを省いてみたのですが、やはりエラーになりました。 何か別の要因があるのかもしれません。 また、何かお気づきの点があれば、ご指導お願いします。 ありがとうございました

関連するQ&A

  • range cells 名称があれば教えてください

    MsgBox range("a1").Value MsgBox Cells(1, 1).Value どちらもセルA1の値を取得できるコードですが それぞれ何方式っていう名称があれば教えてもらえますか? 上はRange方式、で下は、Cells方式でしょうか? (エクセルvbaです)

  • VBA WorksheetFunction.VLookupとoffsetプロパティー

    エクセル2002使用です。 VBAの記述で、WorksheetFunction.VLookupを使って求めた値の入っているセルの列方向に一つ下の値を取得したいのですが・・・・ range("A1").Value =WorksheetFunction.VLookup( range("B1").Value, Range("A3:C10"), 3, 1) 例えば上記で得た値がC4セルにあるのであれば、C5セルの値を取得したいのです。 offset(0,1)プロパティーをどこにおけば良いのか良くわかりません。 どうかよろしくお願いします。

  • Rangeなどを変数でエラー

    Excel VBAについて。 以下のコードで「オブジェクトは、このプロパティまたはメソッドをサポートしていません」 エラーが発生します。原因は何でしょうか? Sub A() Dim stest Set stest = Worksheets("TEST") Dim ra Set ra = Range("C2") stest.ra.Value = Sheets("Sheet1").Cells(i, 2).Value ★ End Sub ★をSheets("TEST"). Range("C2").Value =略 のように、変数を使わずに記述するとエラーになりません。

  • Range

    xlsheet.Range(xlsheet.Cells(3, 1), xlsheet.Cells(lngMaxRows + 2, intvasRate_Col_KeiyakuName - 1)).Value = varExcelData 上記のプログラムで「Range」が記述されているのですが、どう意味でしょうか?。このステップだけ解析できません。お助け下さい。 どうぞよろしくお願い致します。

  • Excel VBA セル値の配列代入について

    Excel VBAで、セルの値を配列に代入する処理を、よくやります。 arr=Range("$A1:$C1000").value とかですね。これに関して、オートフィルタで絞り込んだ結果の可視セルだけを、配列に代入するということは、やっぱり出来ないのでしょうか。

  • VBAのCopyコマンドについて

    エクセルVBAでシート3のRangeの値をからシート2のRangeへデータをコピーしようとしているのですが Sheets(3).Range("B3:B100").Copy _ Sheets(2).Range(Cells(3, col2 - 1), Cells(100, col2 - 1)) がうまくいって、 Sheets(3).Range(Cells(2, col1), Cells(100, col1)).Copy _ sheets(2).Range(Cells(2, col2), Cells(100, col2)) が何故、オブジェクト定義エラーになってしまうのがわかりません。 col1、col2は列の変数です。 よろしくお願いします。

  • Excel-VBA rangeプロパティの使い方について

    Excel-VBA rangeプロパティの使い方について VBA初心者です。いろいろ調べたのですが、分からないので教えてください。 ThisWorkbookのSheet1のA1セルに、aというファイルのaというシートの特定のセルの値をコピーしたいです。 コピーする値のセルは、ThisWorkbookで入力した値を基に変数で記述したいです。 例えば、ThisWorkbookのSheet1のC2セルに「D1」と記載していたとして、その値を変数として設定して、最終的にaというファイルのaというシートの「D1」セルをThisWorkbookのA1セルに貼り付けるのが目的です。 この場合の、下記のhensuu = の設定方法について、ご教授願います。 hensuu = ThisWorkbook.Sheets("Sheet1").Range(“A1”)= Workbooks(a).Sheets(a).Range(hensuu)

  • 【Excel VBA】Rangeに変数を入れたい

    Excel2007を使っています。VBAは全くの初心者です。 VBAでやりたい事ですが、 ------------------------------------------------------------------------- 1つのブックにシートが2つあり、  ●シート「Data」にはE3,F3,G3・・・と横に4月,5月・・(翌)3月まで1年分の月が入っています。   それぞれの月の下の列に会社ごとの売上が入っています。  ●シート「トレンド」にも、C3,E3,F3・・・と横に4月,5月・・(翌)3月まで1年分の月が入っています。   同様にそれぞれの月の下の列に会社ごとの売上を入れるセル(ブランク)があります。 ユーザはコンボボックスで4月~(翌)3月の中から1つを選び、選んだ月が例えば7月ならば、 4月から7月までの売上データをシート「Data」から「トレンド」にもってきたいと思います。 「Data」には8月以降の値も予め入っていますが、これは「トレンド」にはもって こないようにしたいです。(「トレンド」は8月以降はブランクのまま) ------------------------------------------------------------------------- シート「Data」から「トレンド」に値を代入するに当たり、 Worksheet("トレンド").Range("C3: <コンボボックスで選ばれた月に該当する売上のセル>) = Worksheet("Data").Range("E3: <コンボボックスで選ばれた月に該当する売上のセル>) というRangeを使った処理を考えたのですが、このRange()内をどうすればよいかが 分かりません。( <>内の部分です・・) 該当する売上は、コンボボックスで選ばれた値をFindを使って、それぞれのシートの 月の列から検索し、ヒットしたセル(月)からOffsetを使って売上のセルを求めましたが、 この値をどうやって上のRange内に入れてよいか分かりません。 別の方法として、Range(Cells(r1, c1), Cells(r2, c2))に代入しようかと思いましたが、 r2, c2を、上記のOffsetで求めたセルからどのように使えばよいかわかりません。 Rangeにこだわっているわけではなく、上記の処理が行えればどんな方法でも 大丈夫です。(Findを使ったのでなんとなくRangeを使うのかなと思っただけです。) よい方法がお分かりになる方は、恐れ入りますが、初心者でも分かるように 教えていただけないですか? 説明不足があれば申し訳ございません。 どうぞよろしくお願い致します。

  • range表記をcells表記にしたい

    B列の最終行までループさせたいのですが Sub Sample() Dim col As Long col = 2 For Each R In Range("B1:B" & Cells(Rows.count, "B").End(xlUp).Row) Next End Sub この状態から、Bを使わずに、 col = 2を使って、書き換えてもらっても良いですか? For Each R In Range(Cells(1, col), Cells((Rows.count, col)).End(xlUp).Row) これにするとエラーになります。

  • VBA 選択された離れたセルの値の取得について

    EXCELのVBAでどうしても前に進めず困っております。 目的としているコードは、離れたセル(複数)をあらかじめCtrlキーで選択状態にしておき、選択されたセルの値のみをVBAが別のセルに並べていくというものです。 以下が私の作ったコードなのですが、思ったとおりの動作をしてくれません。 VBA初心者なもので、おかしな記述がたくさんあると思うのですが、どなたかアドバイスお願いします。 Public Sub xx() Dim SelectArea As String Dim TargetCell As Range Dim a As Integer Dim Row As Integer Dim Column As Integer Dim CNT1 As Integer a = 0 Row = 0 Column = 0 For CNT1 = 1 To 10 Row = Row + 1 SelectArea = Selection.Address Set TargetCell = Range("B3").Cells(Row - 1, Column) If Intersect(Range(SelectArea), TargetCell) Is Nothing Then Else Range("A30").Cells(a, 0) = Range("B3").Cells(Row - 1, Column).Value a = a + 1 End If Next End Sub