Excel のセルをフォーマットしてアクティブな列の値を表示するにはどうすればよいですか?

Excel のセルをフォーマットしてアクティブな列の値を表示するにはどうすればよいですか?

現在使用されている列内の別のセルの値を表示するようにセルをフォーマットする方法を知りたいです。フォーマットするセルは、アクティブな列とは別のセルになります。

答え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 では、「書式」は太字、斜体、色などを指しますが、あなたはそのことについてまったく尋ねていないようです。

関連情報