現在使用されている列内の別のセルの値を表示するようにセルをフォーマットする方法を知りたいです。フォーマットするセルは、アクティブな列とは別のセルになります。
答え1
VBA マクロを使用すると、ダブルクリックしたセルのセル値とフォント色を別の列の別のセルにコピーできるようになります。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C:E")) Is Nothing Then
Cancel = True
If Application.CountIf(Sheets("Sheet1").Range("B:B"), Target.Value) = 0 Then
Cells(Target.Row, 2).Value = Target.Value
Cells(Target.Row, 2).Font.color = Target.Font.color
End If
End If
End Sub
使い方:
- プレスAlt+F11VB エディターを開きます。
- コピー&ペーストこのコードをシート(
このサンプルコードでは
Sheet is 1
、必要に応じてシート名を変更できます。) を標準モジュールとしてサポートします。 - 列内の任意のセルをダブルクリックすると
C to E
、このコードはCopy
その値とFont color
隣接するセルの値を入力しますColumn B
。
注意
- ソース列は編集可能
C
ですE
。 - には
Cells(Target.Row, 2)
列2
が表示されB
、編集も可能です。 Target.Interior.Color
コピーするには を 使用しますBackground color
。
答え2
あなたの質問から私が理解しているのは、例えばあなたがセルを望んでいるということですE5セルの値を表示するD4セルにこの数式を入力してくださいE5:
=D4
間違っていたら訂正してください。評判が十分ではないため、まだコメントを投稿できませんでした。
答え3
セル (例 E5
) に、現在の選択 (つまり、カーソル) に基づいて動的に更新された値を表示し、ユーザーがカーソル キーを使用して (および/またはセルをクリックして) ワークシート内を移動すると値が変わるようにしたいのであれば、それは不可能だと思います。数式でそれを実行するのは間違いなく不可能ですし、(VBA) マクロで選択 / カーソルの動きをキャプチャする方法もわかりません。
ただし、「書式」という言葉の使用をやめるか、それが適切であると考える理由を説明してください。Excel では、「書式」は太字、斜体、色などを指しますが、あなたはそのことについてまったく尋ねていないようです。