Excel VBA質問箱 IV

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

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


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

【44451】シートチェンジで範囲名を更新 もぐすたー 06/11/16(木) 22:59 発言[未読]
【44452】Re:シートチェンジで範囲名を更新 ichinose 06/11/16(木) 23:23 発言[未読]
【44453】Re:シートチェンジで範囲名を更新 ponpon 06/11/16(木) 23:24 発言[未読]
【44454】Re:シートチェンジで範囲名を更新 もぐすたー 06/11/17(金) 7:41 お礼[未読]

【44451】シートチェンジで範囲名を更新
発言  もぐすたー  - 06/11/16(木) 22:59 -

引用なし
パスワード
   こんばんは。
ThisWorkbookに以下の記述をするとSheet2をアクティブにしたときに1行目のX列以降最終列までの範囲名を”リスト”に出来ます。
==================================================================
Private Sub Workbook_SheetActivate(ByVal シート名 As Object)
If シート名.Name = "Sheet2" Then
  Range(Range("x1"), Range("x1").End(xlToRight)).Name = "リスト"
End If
End Sub
==================================================================

では、Sheet1をアクティブにしたときに、Sheet2のリスト範囲を更新するにはどのように記述したらよいのでしょうか?
「シート名.Name = "Sheet2" Then」の部分を「シート名.Name = "Sheet1" Then」にすれば良さそうなのですが、次の行でSheet2の範囲を指定する方法がわかりません。

単純なことなのかも知れませんが調べきれませんでした。よろしくお願いします。

【44452】Re:シートチェンジで範囲名を更新
発言  ichinose  - 06/11/16(木) 23:23 -

引用なし
パスワード
   ▼もぐすたー さん:
こんばんは。


>==================================================================
>Private Sub Workbook_SheetActivate(ByVal シート名 As Object)
 If シート名.Name = "Sheet1" Then
   with worksheets("sheet2")
    .Range(.range("x1"), .Range("x1").End(xlToRight)).Name = "リスト"
    end with
> End If
>End Sub

上記のコードで確認してみてください。

【44453】Re:シートチェンジで範囲名を更新
発言  ponpon  - 06/11/16(木) 23:24 -

引用なし
パスワード
   こういうことですか?

Private Sub Workbook_SheetActivate(ByVal シート名 As Object)
If シート名.Name = "Sheet1" Then
 With Sheets("Sheet2")
  .Range(.Range("x1"), .Range("x1").End(xlToRight)).Name = "リスト"
 End With
End If
End Sub

【44454】Re:シートチェンジで範囲名を更新
お礼  もぐすたー  - 06/11/17(金) 7:41 -

引用なし
パスワード
   ichinoseさん ponponさん 

希望どおりになりました。ありがとうございます。

※【44451】質問なのに「他」になってました。すみません。

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