Excel VBA質問箱 IV

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

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


28873 / 76738 ←次へ | 前へ→

【53155】Re:詳しく教えてください
発言  yata  - 07/12/17(月) 21:06 -

引用なし
パスワード
   >With ActiveSheet
>  If .Index > Worksheets.Count Then
>   .Next.Activate
>  End If
>End With
>
>などとする方が、すっきりしますね。

ずいぶんスッキリしましたね。勉強になりました。
  If .Index < Worksheets.Count Then
ですね。
元のコードを生かすなら
 Exit Sub を入れた方がいいかも。

'右のシートを開く(一番右のシートがアクティブなら実行されない)
Sub Test1()
Dim i As Integer
For i = 1 To Worksheets.Count - 1  '●一番右ならもう右へ行けないから
 If ActiveSheet.Name = Worksheets(i).Name Then
  Worksheets(i + 1).Activate '●右側だから一つ番号が大きくする
  Exit Sub  '●これを追加
 End If
Next
End Sub

'左のシートを開く
Sub Test2()
Dim i As Integer
For i = 2 To Worksheets.Count  '●一番左の場合はもう左へ行けないから2から始める
 If ActiveSheet.Name = Worksheets(i).Name Then
  Worksheets(i - 1).Activate
  Exit Sub
 End If
Next
End Sub
0 hits

【53131】詳しく教えてください 考える人 07/12/16(日) 21:14 質問
【53132】Re:詳しく教えてください かみちゃん 07/12/16(日) 21:23 発言
【53156】Re:詳しく教えてください 考える人 07/12/17(月) 21:06 お礼
【53141】Re:詳しく教えてください Who Me? 07/12/17(月) 10:56 発言
【53152】Re:詳しく教えてください 考える人 07/12/17(月) 20:41 お礼
【53155】Re:詳しく教えてください yata 07/12/17(月) 21:06 発言

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