Excel VBA質問箱 IV

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

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


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

【57452】ワークシートを自動選択するには 若葉まーくん 08/8/24(日) 13:53 質問[未読]
【57453】Re:ワークシートを自動選択するには かみちゃん 08/8/24(日) 14:04 発言[未読]
【57456】Re:ワークシートを自動選択するには 若葉まーくん 08/8/24(日) 14:28 回答[未読]
【57457】Re:ワークシートを自動選択するには かみちゃん 08/8/24(日) 14:31 発言[未読]

【57452】ワークシートを自動選択するには
質問  若葉まーくん E-MAIL  - 08/8/24(日) 13:53 -

引用なし
パスワード
   シート名というシートを作成しておいて

  A  B  C  D
1 あ
2 い
3 う
4 え
5 お



Dim i As Integer
Sheets("シート名").Select
Range("a1").Select
Set ab = ActiveSheet
For i = 1 To 15
If Sheets("シート名").Cells(i, 1).Value = "" Then Exit For
ActiveWorkbook.Worksheets.Add.Name = ab.Range("A" & i)
Next

でシート名を自動で付けて自動でシートを追加が出来ましたが
シートを自動で選択する方法が分かりません。

Sheets("あ").Select
Sheets("い").Select

で選択できるのですが
シート数が増えると大変です。
各シートの作業内容が同じなので自動で選択して同じ作業はしたいです。
自動で選択する方法を誰か教えてください。

【57453】Re:ワークシートを自動選択するには
発言  かみちゃん  - 08/8/24(日) 14:04 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>でシート名を自動で付けて自動でシートを追加が出来ましたが
>シートを自動で選択する方法が分かりません。

自動で選択するとは、どういう意味でしょうか?
Worksheets.Add
の後は、新規に追加されたシートがアクティブになっています。
アクティブにするということではなく、選択したいということなのでしょうか?

なお、サンプルコードとしては、以下のような感じです。

Sub Sample()
 Dim i As Integer
 Dim ab As Worksheet
 
' Sheets("シート名").Select
' Range("A1").Select
' Set ab = ActiveSheet
 Set ab = Sheets("シート名")
 For i = 1 To 15
'  If Sheets("シート名").Cells(i, 1).Value = "" Then Exit For
'  ActiveWorkbook.Worksheets.Add.Name = ab.Range("A" & i)
  If ab.Range("A" & i).Value = "" Then Exit For
  ActiveWorkbook.Worksheets.Add.Name = ab.Range("A" & i).Value
  MsgBox "現在の選択中のシートは " & Selection.Parent.Name
 Next
End Sub

変数の宣言は、きんちとしておきましょう。
また、インデントも整理して、読みやすいコードを書くようにしましょう。

【57456】Re:ワークシートを自動選択するには
回答  若葉まーくん E-MAIL  - 08/8/24(日) 14:28 -

引用なし
パスワード
   ▼かみちゃん さん:


親切丁寧な回答をありがとうございます。

>自動で選択するとは、どういう意味でしょうか?
>Worksheets.Add
>の後は、新規に追加されたシートがアクティブになっています。
>アクティブにするということではなく、選択したいということなのでしょうか?

自動で名前を付けてシートを追加した後で各シートで同じ作業(例えば足し算や割り算、集計など)したいのですが・・・
一つ目のシートで作業してそのあとで次のシートを選択して作業を繰り返す事です。うまく伝えられなくてすみません。

【57457】Re:ワークシートを自動選択するには
発言  かみちゃん  - 08/8/24(日) 14:31 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>自動で名前を付けてシートを追加した後で各シートで同じ作業(例えば足し算や割り算、集計など)したいのですが・・・
>一つ目のシートで作業してそのあとで次のシートを選択して作業を繰り返す事です。

WorkSheets.Addの直後に処理してはいけないのでしょうか?
すべてを追加したあとであれば、

以下のようなコードにすると、アクティブブックのすべてのシートの名前を順番に表示します。
For Each ws In WorkSheets
 MsgBox ws.Name
 ws.Select
Next

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