0
A
答えて
0
コピーが最後Form
シートにData
シートからエントリを編集した例です。あなたのVBAプロジェクトでData
ワークシートに以下のコードを入れてください:
そしてForm
ワークシート:
ここ
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Static objTargetCells As Object
Dim objTargetCell As Range
Dim strHeader As Variant
Dim objTargetSheet As Worksheet
Dim x As Long
Set objTargetSheet = Sheets("Form")
If objTargetCells Is Nothing Then
Set objTargetCells = CreateObject("Scripting.Dictionary")
x = 1
Do
strHeader = Target.Worksheet.Cells(1, x).Value
Set objTargetCell = objTargetSheet.Cells.Find(strHeader, , xlValues, xlWhole, xlByRows, xlNext, True, , False)
Set objTargetCells(strHeader) = objTargetCell.Offset(0, 1)
x = x + 1
Loop While Cells(1, x).Value <> ""
End If
With Target.Worksheet
If .Cells(1, Target.Column).Value <> "" And Target.Row <> 1 Then
x = 1
For Each strHeader In objTargetCells
objTargetCells(strHeader).Value = .Cells(Target.Row, x).Value
x = x + 1
Next
objTargetSheet.Cells.EntireColumn.AutoFit
End If
End With
End Sub
はData
ワークシートがどのように見えるですコードはすべてで実行されますシート変更イベント。初めてData
シートにテーブルフィールドの辞書を作成し、Form
シート上の対応するターゲットセルへの参照を入力します。これらのセルは.Find
メソッドで検出されますが、手動で範囲をハードコードすることはできます。
はい、これはVBAで行うことができます。この質問に他に何かありましたか? – CallumDA
([How to Ask](http://stackoverflow.com/help/how-to-ask)をお読みください)。 – BruceWayne
このフォーラムで良い質問をする方法のヒントについては、特にお返事ありがとうございます。特に、これが私の最初だったので。あなたの質問@ CallumDA33に対処するために、はい、私が推測する質問にはさらに多くがあります。あなたはVBAコードを手伝うことができますか? –