Excel VBA質問箱 IV

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

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


1500 / 13644 ツリー ←次へ | 前へ→

【73994】for 〜 to のシート名指定について ちわわん 13/4/2(火) 17:29 質問[未読]
【73995】Re:for 〜 to のシート名指定について UO3 13/4/2(火) 17:36 発言[未読]
【74004】Re:for 〜 to のシート名指定について ちわわん 13/4/3(水) 14:56 お礼[未読]

【73994】for 〜 to のシート名指定について
質問  ちわわん  - 13/4/2(火) 17:29 -

引用なし
パスワード
   初めて投稿させて頂きます。

下記コードにて、sheet1にあるx10の欄に、sheet2〜6の
H107:K107の数字を計算するようにしています。
但し、sheet3についてはH177:K177を参照するように
しています。

問題はシートの数や位置が変わる可能性があるので、ズバリ
シート名を指定したいのです。
単純に( )の中を("シート名")に変更すれば問題ないかと
思ったのですがうまくいきませんでした。なので
For i = 2 To 6 の 2 To 6 を シート名に変更すれば
うまくいくかと思ったのですが、("B") to ("F")
でつなげてもうまくいきませんでした。
for 〜 to は数字しか受け付けないのでしょうか。
それとも根本的に何か間違っているのでしょうか。
ご教授願います。


  x = 10
  For i = 2 To 6
    Sheets(i).Range(IIf(i = 3, "H177:K177", "H107:K107")).Copy
    Sheets(1).Cells(x, 4).PasteSpecial xlPasteValues
    ・・・・・・
              ↓ 変えてみたけど・・・・・
  x = 10
  For i = 2 To 6
    Sheets(i).Range(IIf(i = ("C"), "H177:K177", "H107:K107")).Copy
    Sheets("A").Cells(x, 4).PasteSpecial xlPasteValues
    ・・・・・・

【73995】Re:for 〜 to のシート名指定について
発言  UO3  - 13/4/2(火) 17:36 -

引用なし
パスワード
   ▼ちわわん さん:

こんにちは
以下、参考になりますでしょうか。

Sub Sample()
  Dim shn As Variant
  
  For Each shn In Array("Sheet1", "Sheet3", "Sheet5")
    MsgBox Sheets(shn).Name & "/" & Sheets(shn).Range("A1").Value
  Next
  
End Sub

【74004】Re:for 〜 to のシート名指定について
お礼  ちわわん  - 13/4/3(水) 14:56 -

引用なし
パスワード
   ▼UO3 さん

こんにちは。
下記参考コードありがとうございました。
まだ漠然としていますが、なんとなくやるべきことが見えて
来た気がします。array関数を使用したことが無かったので
もう少し過去レス等で勉強して対応して見ます。
ありがとうございました.


▼UO3 さん:
>▼ちわわん さん:
>
>こんにちは
>以下、参考になりますでしょうか。
>
>Sub Sample()
>  Dim shn As Variant
>  
>  For Each shn In Array("Sheet1", "Sheet3", "Sheet5")
>    MsgBox Sheets(shn).Name & "/" & Sheets(shn).Range("A1").Value
>  Next
>  
>End Sub

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