Excel VBA質問箱 IV

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

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


2462 / 13646 ツリー ←次へ | 前へ→

【67854】どのシートからでも入力 SkyFuture 11/1/13(木) 10:30 質問[未読]
【67855】Re:どのシートからでも入力 kanabun 11/1/13(木) 11:01 発言[未読]
【67856】Re:どのシートからでも入力 momo 11/1/13(木) 11:29 発言[未読]
【67858】Re:どのシートからでも入力 kanabun 11/1/13(木) 14:02 発言[未読]
【67906】Re:どのシートからでも入力 SkyFuture 11/1/15(土) 14:10 お礼[未読]

【67854】どのシートからでも入力
質問  SkyFuture  - 11/1/13(木) 10:30 -

引用なし
パスワード
   シート1からでもシート2からでも・・・
ある表題を入力すると他のシートの同じセル位置にその表題が出るようにするにはどのように書けばよいのでしょう。しかもどのシートからも替えられるようにする方法を教えてください。
シートのチェンジではシート1からで出来ますが、シート2からも他のシートの変更が・・・どのシートからでもセルのA1の内容が反映される方法と考え、コードを書きましたが、うまく動きません。間違っている個所のご指定ご指導をお願いします。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
Dim stG As String, i As Long
With ActiveSheet
 stG = .Cells(1, 1).Value
 For i = 1 To ThisWorkbook.Sheets.Count
  Sheets(i).Cells(1, 1) = stG
 Next i
End With
End Sub

【67855】Re:どのシートからでも入力
発言  kanabun  - 11/1/13(木) 11:01 -

引用なし
パスワード
   ▼SkyFuture さん:
>シート1からでもシート2からでも・・・
>ある表題を入力すると他のシートの同じセル位置にその表題が出るようにするには

>Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
>If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
>Dim stG As String, i As Long
>With ActiveSheet
> stG = .Cells(1, 1).Value
> For i = 1 To ThisWorkbook.Sheets.Count
>  Sheets(i).Cells(1, 1) = stG
> Next i
>End With
>End Sub


試してませんが、2カ所変更してみましたがこれでどうですか?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Range("A1")) Is Nothing Then Exit Sub
Dim stG As String, i As Long

 stG = Target.Value
 For i = 1 To ThisWorkbook.Sheets.Count
  Sheets(i).Cells(1, 1).Value = stG
 Next i
End Sub

【67856】Re:どのシートからでも入力
発言  momo  - 11/1/13(木) 11:29 -

引用なし
パスワード
   EnableEvents入れないとエラーになってしまいました。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Sh.Range("A1")) Is Nothing Then Exit Sub
Dim stG As String, i As Long

 stG = Target.Value
 Application.EnableEvents = False
 For i = 1 To ThisWorkbook.Sheets.Count
  Sheets(i).Cells(1, 1).Value = stG
 Next i
 Application.EnableEvents = True
End Sub

【67858】Re:どのシートからでも入力
発言  kanabun  - 11/1/13(木) 14:02 -

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

>EnableEvents入れないとエラーになってしまいました。

あぁ、たしかにそうでしたね m(_ _)m

【67906】Re:どのシートからでも入力
お礼  SkyFuture  - 11/1/15(土) 14:10 -

引用なし
パスワード
   ▼momo さん,kanabun さん:
ありがとうございました。
EnableEventsを入れて動作しました。
何故入れないといけないか分かりませんが・・・

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