Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8251 / 13646 ツリー ←次へ | 前へ→

【34376】他シート参照の仕方がわかりません ちー 06/2/1(水) 16:29 質問[未読]
【34381】Re:他シート参照の仕方がわかりません inoue 06/2/1(水) 17:01 発言[未読]
【34415】Re:他シート参照の仕方がわかりません ちー 06/2/2(木) 9:45 発言[未読]
【34422】ありがとうございました<m(__)m> ちー 06/2/2(木) 11:12 お礼[未読]

【34376】他シート参照の仕方がわかりません
質問  ちー  - 06/2/1(水) 16:29 -

引用なし
パスワード
   「データ」と「検索」、2つの表があり、同じシート上に作っていましたが
「検索」の表を別シート(シート名:支払先)に移しました。

この場合、下記の 「cells(検索行,4)」をどう記述すれば良いかわかりません。
どなたかお教え下さい。よろしくお願いします。


Dim 検索行 As Integer, データ行 As Integer

検索行 = 2
データ行 = 2

 Do Until Cells(データ行, 2) = vbNullString
  
  Do Until Cells(検索行, 4) = vbNullString Or Cells(データ行, 1) <> 0
          ・
          ・
          ・

【34381】Re:他シート参照の仕方がわかりません
発言  inoue E-MAILWEB  - 06/2/1(水) 17:01 -

引用なし
パスワード
   >この場合、下記の 「cells(検索行,4)」をどう記述すれば良いかわかりません。
シートを明示させれば良いだけです。
Worksheets("データ").Cells(データ行, 2)...
とか
Worksheets("検索").Cells(検索行, 4)...
というように。
ブックが違う場合はさらにこの前にブックを明示することになります。
記述が長くてイヤだったら、
1つのシートについてはWithステートメントを使うのでも良いですし、
短めの名前のオブジェクト変数(Worksheet)を宣言してセットし、
置き換えて使うのでも構いません。

【34415】Re:他シート参照の仕方がわかりません
発言  ちー  - 06/2/2(木) 9:45 -

引用なし
パスワード
   ▼inoue さん、ありがとうございます。

1.→2.へ変更してみました。
変更前は、「Cells(データ行, 1) <> 0」の式は、0又は空白以外ならLOOPから抜けていました。
変更後は、空白の場合にも抜けてしまいます。何か足りないのでしょうか?

1.Do Until Cells(検索行, 4) = vbNullString Or Cells(データ行, 1) <> 0
         ↓
2.Do Until Worksheets("支払先").Cells(検索行, 4) = vbNullString Or Cells(データ行, 1) <> 0

【34422】ありがとうございました<m(__)m>
お礼  ちー  - 06/2/2(木) 11:12 -

引用なし
パスワード
   ▼inoue さん、すみません。

もう一度やり直したら上手くいきました。
何が違ったのかハッキリしませんが・・・
どうもありがとうございました。

8251 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free