エクセル初心者で困っています。列にデータを入力するたびに、Excel に自動的にテキストのプレフィックスを付けてもらいたいです。プレフィックスにするテキストは、同じ行の別のセルから取得する必要がありますが、他の列から取得する必要があります。
カスタム形式のセル機能を見てきましたが、データの前にあらかじめ決められた単語を付けることしかできないようです。これを達成する他の方法はありますか?念のため、Excel 2013 を使用しています。
エクセル初心者で困っています。列にデータを入力するたびに、Excel に自動的にテキストのプレフィックスを付けてもらいたいです。プレフィックスにするテキストは、同じ行の別のセルから取得する必要がありますが、他の列から取得する必要があります。
カスタム形式のセル機能を見てきましたが、データの前にあらかじめ決められた単語を付けることしかできないようです。これを達成する他の方法はありますか?念のため、Excel 2013 を使用しています。
コメントから、最終結果を表す 3 番目のセルで問題ないことがわかります。プレフィックスが列 A にあり、エントリ データが列 B にあり、結果が次のような列 C の数式であると仮定します。
=CONCATENATE(A1,B1)
結果:
VBA ソリューションについて気が変わった場合は、次のようにワークシート変更マクロを設定できます。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Column = 2 Then
If IsEmpty(Target.Value) = False Then
Target.Value = Target.Offset(0, -1).Value + Target.Value
End If
End If
Application.EnableEvents = True
End Sub
このルーチンは、列 'B' で変更されたすべてのセルで機能し、列 'A' の値が空白でない限り (つまり、データを消去した場合) 接頭辞を付けます。
ここでも、プレフィックスが列 A にあり、データ入力が列 B にあると想定していますが、今回は列 B に結果が表示されます。
このルーチンは、汎用モジュールではなく、使用するシートにある必要があります