初めまして。
次の質問にお答えして頂ければ助かります。
「Excelで(sheet)別に複数のセルを相互にリンクさせたいのですが方法が分かりません。
ご存知の方がおられましたら教えてください!
*****************************************
【例】
sheet1のA1とsheet2のA2をリンク
sheet1のB2とsheet2のB3をリンク
・
・
・
どちらから入力しても、双方に同じ数値が入る
*****************************************
よろしくお願い致します。
No.4
- 回答日時:
写すセルが複数あって規則性がない場合は以下のようにしたらよいと思います。
2つ作ってみました。ただし、2つのイベントの共存は利きません。
シートが、すでに負担になっているようでしたら、SheetActivate側をお使いください。
'SheetActivateを使ったもの
'----------------------------------------------------------------
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim Sh1RngArray As Variant
Dim Sh2RngArray As Variant
Dim i As Long
'ユーザー設定
'定数のデータ数は必ず同じ数にすること
Const Sh1RngData As String = "A1,B2" 'シート1側
Const Sh2RngData As String = "A2,B3" 'シート2側
'
Const Sh1Name As String = "Sheet1"
Const Sh2Name As String = "Sheet2"
'
Application.ScreenUpdating = False
Sh1RngArray = Split(Sh1RngData, ",")
Sh2RngArray = Split(Sh2RngData, ",")
If Sh.Name = Sh1Name Then
For i = LBound(Sh1RngArray) To UBound(Sh1RngArray)
Sh.Range(Sh1RngArray(i)).Value = _
Worksheets(Sh2Name).Range(Sh2RngArray(i)).Value
Next i
Else
For i = LBound(Sh1RngArray) To UBound(Sh1RngArray)
Sh.Range(Sh2RngArray(i)).Value = _
Worksheets(Sh1Name).Range(Sh1RngArray(i)).Value
Next i
End If
Application.ScreenUpdating = True
End Sub
'SheetChangeイベントのもの
'----------------------------------------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim SorShName As String 'ソース
Dim OpShName As String '相手先
Dim OptRngData As Variant 'データの移し変え用
Dim rtn As Variant
If Target.Count > 1 Then Exit Sub 'まとめて変更はできません。
With Sh
'データ内は、必ず同数にすること
Sh1RngData = Array("A1", "B2") 'シート1側
Sh2RngData = Array("A2", "B2") 'シート2側
If .Name = "Sheet1" Then 'シートの名前
OpShName = "Sheet2"
rtn = Application.Match(Target.Address(0, 0), Sh1RngData, 0)
If IsError(rtn) Then Exit Sub
OptRngData = Sh2RngData
Else
OpShName = "Sheet1"
rtn = Application.Match(Target.Address(0, 0), Sh2RngData, 0)
If IsError(rtn) Then Exit Sub
OptRngData = Sh1RngData
End If
Worksheets(OpShName).Range(OptRngData(rtn - 1)).Value _
= Target.Value
End With
End Sub
'----------------------------------------------------------------
No.3
- 回答日時:
No.2
- 回答日時:
No.1です。
失礼しました。
相互にリンクという事は、
sheet1のA1に入力した数値がsheet2のA2に反映され
sheet2のA2に入力したらsheet1のA1に反映される、っていう事ですね?
それでしたらわかりません。
良く読まずにうっかり回答してしまいました。ごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
- スーパー・コンビニ 「コンビニで エクセルをプリントアウト」することができますか? 8 2022/06/16 15:54
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- Excel(エクセル) Excelで日報を自動で作成したい 売上管理シートに入力した売上データを、日報に自動反映させたいと考 1 2023/04/29 18:07
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
VBA 別ブックからの転記の高速...
-
EXCELのSheet番号って変更でき...
-
マクロ実行後に別シートの残像...
-
VBAで変数の数/変数名を動的に...
-
ExcelVBAでDo Until loopのネス...
-
Changeイベントで複数セルへの...
-
VBA別シートの最終行の次行へ転...
-
VBA 実行時エラー1004 rangeメ...
-
VBA 重複チェック後に値をワー...
-
テキストボックスから、複数の...
-
vba 住所で判断して担当支店に...
-
GASでチェックボックスを一括of...
-
楽天RSSからエクセルVBAを使用...
-
ExcelのVBマクロを、バックグラ...
-
複数シートの複数列に入力され...
-
前回質問の続きになりますが、...
-
VBA Userformで一部別シートに...
-
VBAコードについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マクロの「SaveAs」でエラーが...
-
VBA 空白行に転記する
-
EXCELのSheet番号って変更でき...
-
マクロ実行後に別シートの残像...
-
VBA 別ブックからの転記の高速...
-
VBA別シートの最終行の次行へ転...
-
【VBA】特定の条件でセルをコピー
-
Count Ifのセルの範囲指定に変...
-
100万件越えCSVから条件を満た...
-
楽天RSSからエクセルVBAを使用...
-
VBAコードについて
-
Changeイベントで複数セルへの...
-
VBAで変数の数/変数名を動的に...
-
Excel2013で切り取り禁止
-
グラフマクロで系列を変数にす...
-
VBA 実行時エラー1004 rangeメ...
-
ExcelのVBマクロを、バックグラ...
-
Unionでの他のシートの参照につ...
-
Excel VBA オートフィルターで...
-
アクセスからエクセルへ出力時...
おすすめ情報