advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 1215 for (Mook) (0.001 sec.)
[[20150315173802]]
#score: 9211
@digest: e03c938e770d8226d69b5567d120cfc2
@id: 67514
@mdate: 2015-03-15T14:05:34Z
@size: 3414
@type: text/plain
#keywords: workheet (28853), af15 (23027), 身// (15497), 目! (12488), worksheet2 (10539), 「af (7799), ト目 (6476), ズメ (5890), ws3 (5482), bu (4508), スズ (3850), 始セ (3816), ン定 (1942), ト定 (1939), はwo (1899), worksheets (1866), ws2 (1534), ws1 (1427), 日) (1368), ゆり (1265), 2015 (1167), 中身 (1073), 左か (1067), デッ (1056), リケ (985), う名 (913), シー (868), 番目 (856), ンデ (784), ート (691), 名前 (683), ーシ (633)
『記入されたセル名を抽出するには』(ゆり)
1シート目に「=2シート目!AF15」という数式が入っている表があります。 (AF15は文字列です) 今回、「=2シート目!AF15」と入ったエクセルと「=2シート目!AF16」が入った エクセルとを作りたいのですが、開始セルのAF15が各月によって変動するため、 3シート目に開始セルとなるセル名(今回でいえば「AF15」)を書くように したのですが、VBAでこのAF15を引っ張ってくる方法が分かりません。 Dim Bu As String Bu = Ws3.Range("D4").Value ←「AF15」が入ったセル Ws1.Range("B3") = Worksheet2.Range(Bu) 上記マクロではインデックス値が不正ということでエラーとなります。 何かいい手は無いでしょうか。 < 使用 Excel:Excel2010、使用 OS:Windows7 > ---- 問題なのは Worksheet2 の方ではないですか? 2シート目は Worksheets(2) にしてどうでしょうか。 (Mook) 2015/03/15(日) 17:45 ---- ご返信ありがとうございます。 試してみたところ、「アプリケーション定義またはオブジェクト定義エラーです」と 表示されました。 Ws1.Range("B3") = Worksheets("2").Range(Bu) (ゆり) 2015/03/15(日) 18:13 ---- いや、なんで "2" にするのでしょうか。 シート名が「2」 という名前なのですか? シートはインデックス(左からの順番)の数値か、名前の文字列で指定します。 2 と "2" は別のものになります。 10シートあって一番右のものが「100」という名前のシートであれば、これを指定するのは WorkSheets("100") '// 名前で指定 か WorkSheets(10) '// 位置で指定 になります。 Sub Sample() Dim Ws1 As Workheet Set Ws1 = Worksheets(1) '// 左から1番目のシート Dim Ws2 As Workheet Set Ws2 = Worksheets(2) '// 左から2番目のシート Dim Ws3 As Worksheet Set Ws3 = Worksheets(3) '// 左から3番目のシート Dim Bu As String Bu = Ws3.Range("D4").Value '// ←WS3 の D4 の中身 // 「AF15」が入っている? Ws1.Range("B3").Value = Ws2.Range(Bu).Value End Sub Sub Sample2() Dim Ws1 As Workheet Set Ws1 = Worksheets("Sheet1") '// 「Sheet1」という名前のシート Dim Ws2 As Workheet Set Ws2 = Worksheets("Sheet2") '// 「Sheet2」という名前のシート Dim Ws3 As Worksheet Set Ws3 = Worksheets("Sheet3") '// 「Sheet3」という名前のシート Dim Bu As String Bu = Ws3.Range("D4").Value '// ←WS3 の D4 の中身 // 「AF15」が入っている? Ws1.Range("B3").Value = Ws2.Range(Bu).Value End Sub (Mook) 2015/03/15(日) 18:24 ---- すみません、説明が漏れました。 シート名が「2」なのです…。 (ゆり) 2015/03/15(日) 18:37 ---- そうでしたか。 では Sub Sample() Set Ws2 = Worksheets("2") Set Ws3 = Worksheets("3") MsgBox Ws2.Range("D4").Value ' Ws2 の D4 中身は「AF15」 MsgBox Ws3.Range(Ws2.Range("D4").Value).Value ' Ws3 の AF15 End Sub は期待した値が表示されませんか? (Mook) 2015/03/15(日) 18:45 ---- よくある間違いで半角の2と全角の2で違うということはないですよね (デイト) 2015/03/15(日) 19:20 ---- アプリケーション定義またはオブジェクト定義のエラーということは、コードはあっているけど、それが適用できないということでしょうか? 例えば、セルが結合されているとか。コードではなく、セルやシートを見直してみてはいかがでしょうか? (スズメ) 2015/03/15(日) 22:46 ---- あと、ゆりさんはSetを使わずにWs3、Ws1を使っておられますが、使う時はSetを使わないといけないのではないでしょうか?もし、使わないのであれば、Ws1はWorksheets("1")、Ws3はWorksheets("3")と書き換えてみてはどうでしょうか? (スズメ) 2015/03/15(日) 23:05 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201503/20150315173802.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97050 documents and 608253 words.

訪問者:カウンタValid HTML 4.01 Transitional