Excel VBA質問箱 IV

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

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


2153 / 13645 ツリー ←次へ | 前へ→

【69661】シートの選択 おぢちゃん 11/8/18(木) 9:30 質問[未読]
【69663】Re:シートの選択 とおりすぎ 11/8/18(木) 10:39 回答[未読]
【69664】Re:シートの選択 おぢちゃん 11/8/18(木) 11:10 お礼[未読]

【69661】シートの選択
質問  おぢちゃん  - 11/8/18(木) 9:30 -

引用なし
パスワード
   "複数シート 処理","シート名 変数"で検索をかけても対策を見いだせなかったので質問させて下さい。

(1)処理するbookには,"集計","報告書","支店a","支店b","支店c","支店d","支店e","支店f"の8枚のsheetがあります。
(2)処理の対象sheetは支店a〜支店fまでの6枚です。
(3)其々の支店sheetには同一項目のデータが入っています。但しデータ量は異なります。
(4)マクロは別bookに記述します。
(5)一枚のsheetに対応するコードは完成しています。

上記の条件で其々の支店sheetに同一の処理を行うのですが
支店sheetを順次選択する方法が解りません。
sheet名に変数を使って順次処理を行わせるのかな?と考え
無い知恵絞ったのですが…。

(例)こんな感じです。
'***********************************************************
Sub 対象シート処理()
Dim Sname1 As String, Sname2 As String, Sname3 As String
Dim Sname4 As String, Sname5 As String, Sname6 As String
Dim Sname As String
Dim i As Byte

 Sname1 = "札幌"
 Sname2 = "仙台"
 Sname3 = "東京"
 Sname4 = "名古屋"
 Sname5 = "大阪"
 Sname6 = "福岡"

For i = 1 To 6
Sheets(Sname & i).Select
Range("A1").Value = Sname & i

Next i

End Sub
'***********************************************************

根本的に間違ってる気がしています…。
(1)ヒントを下さい。
(2)上記コードのどこが根本的に間違っているのか御指示頂ければ嬉しいです。

【69663】Re:シートの選択
回答  とおりすぎ  - 11/8/18(木) 10:39 -

引用なし
パスワード
   配列を使う。

Dim Sname(1 to 6) As String
Sname(1) = "札幌"
Sname(2) = "仙台"
Sname(3) = "東京"
Sname(4) = "名古屋"
Sname(5) = "大阪"
Sname(6) = "福岡"

For i = 1 To 6
Sheets(Sname(i)).Range("A1").Value = Sname & i
Next i

【69664】Re:シートの選択
お礼  おぢちゃん  - 11/8/18(木) 11:10 -

引用なし
パスワード
   ▼とおりすぎ さん:
ありがとうございます。
> Sheets(Sname(i)).Range("A1").Value = Sname & i

Sheets(Sname(i)).Range("A1").Value = Sname(i)
と記述して思惑通りの動作を確認いたしました。

すっきりしたコードになるのですね。
今までどんだけ冗長なコードを打ってきたんだろう…と考えさせられました。


>配列を使う。
>
>Dim Sname(1 to 6) As String
>Sname(1) = "札幌"
>Sname(2) = "仙台"
>Sname(3) = "東京"
>Sname(4) = "名古屋"
>Sname(5) = "大阪"
>Sname(6) = "福岡"
>
>For i = 1 To 6
> Sheets(Sname(i)).Range("A1").Value = Sname & i
>Next i

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