1

名前とスキルの表があります。1 は「このスキルを持っていない」、3 は「このスキルを持っている」を意味します。1 から 3 に変更すると、メッセージボックスに次のように表示されます。本当にこれを実行しますか。メッセージボックスに名前とスキルが欲しいのですが、方法がわかりません。

たとえば、セル D12 を 1 から 3 に変更します。メッセージは次のようになります。

(セル D1 の値 / スキル) の (セル A12 の値 / 人の名前) を変更してもよろしいですか?

それで大丈夫です。ただし、アクティブなセルに適用できるため、アクティブなセルに応じて D1 と A12 が変化します。どうすればいいですか?

4

1 に答える 1

1

R1C1 Reference Styleを使用できます。この場合、Excel の設定を R1C1 参照スタイルに切り替える必要があります。

Office 2007では、[ Office ] ボタンをクリックし、[Excel の終了]の近くにある[ Excel のオプション] をクリックします。

Formulasタブに移動し、 Working with formulasの下でR1C1 参照スタイルをチェックして使用します。

=R[2]C[1]セルのように数式を指定すると、A1セルから値が返されますB3

2 番目の方法は、次の式を使用することです。

=OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())),2,1)

この場合、設定を変更する必要はありません

編集:

私はあなたの例を試しました。VBA を使用してこれを実現したい場合は、さらに簡単です。

Dim skillValue As String
skillValue = Range(Cells(1, Selection.Column), Cells(1, Selection.Column))
Dim nameValue As String
nameValue = Range(Cells(Selection.Row, 1), Cells(Selection.Row, 1))
If MsgBox("Are you sure you want to change " & skillValue & " of " & nameValue & "?", vbOKCancel) = vbOK Then
...............
于 2013-02-18T10:37:46.277 に答える