• ベストアンサー

エクセル2000 関数とマクロ 分かる人には簡単

 こんばんは。 こちらは、エクセル2000を使用しております。  アクティブセルの一番上と一番左のセルの内容をくっつけて表示させるには、どうすればいいでしょうか? 掛け算の九九の表を思い出してください。 こんな感じ。。   2   3   4  5 2 4   6   8  10 3 6   9   12  15    このような表で例えば「12」と書かれているセルをアクティブにしたあと、マクロ起動させると 「4と3の掛け算です。」という文字を、どこかのセルに記入してもらうには どうゆうマクロを組み立てればよいでしょうか?  知ってる人にはものすごく簡単だとおもうのですが、 なにを手がかりに調べたらよいのか、分からなくて困ってます。  教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • harisun
  • ベストアンサー率14% (1/7)
回答No.3

九九の表が、 A1 から A9 のセルが 1~9、 A1 から I1 のセルが 1~9 になっている場合を想定します。 まず、シートにCommandButton1をつくってWクリックでコードを開きます。 例えばA11のセルに表示させるとしたら、 Private Sub CommandButton1_Click() Range("a11").Value = ActiveCell.Column & "と" & ActiveCell.Row & "の掛け算です" End Sub と書きます。 これで、目的のセルを選択し、ボタンを押せば表示できると思います。 ちなみに、例えば九九の表が全体に横にセル1つ分ずれているときは ActiveCell.Column の部分は ActiveCell.Column -1 というように工夫してください。

norinori55
質問者

お礼

ありがとうございました。 なるほど、セルの番号をそのまま利用すればいいわけですね。

その他の回答 (3)

  • harisun
  • ベストアンサー率14% (1/7)
回答No.4

さきほどの補足をいたします。 関係ないセルをクリックしたときには何も表示させないようにするための条件式を追加しました。 Private Sub CommandButton1_Click() Range("a11").Value = "" If ActiveCell.Column * ActiveCell.Row = ActiveCell.Value Then Range("a11").Value = ActiveCell.Column & "と" & ActiveCell.Row & "の掛け算です" End If End Sub これで大丈夫だと思います。

norinori55
質問者

お礼

補足までしていただいて、重ね重ねありがとうございました。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

九九の表は例示なのか、九九の表で表示されたいのか確信が持てませんが、九九に限定して書いてみました。一応、九九の外を選んだ場合も対応しています。 標準モジュールに貼り付けます。メッセージボックスに表示する2行をコメント行にして、その上のコメント行を有効にすればセルA1に掛け算内容を表示します。Excel97でもOKと思います。(こんなのでいいのかな?) Public Sub Sansyomoto()   Dim myMsg As String '答え   Dim myFormura As String 'アクティブセルの式   Dim adrCell1, adrCell2 As String '元のセル番地   On Error GoTo ErrorHandler   myFormura = ActiveCell.Formula   myFormura = Replace(myFormura, "=", "") '余分な文字をとる   myFormura = Replace(myFormura, "+", "") '余分な文字をとる   adrCell1 = Left(myFormura, InStr(myFormura, "*") - 1)   adrCell2 = Right(myFormura, Len(myFormura) - InStr(myFormura, "*"))   myMsg = Range(adrCell1) & "と" & Range(adrCell2) & "の掛け算です。"   'Range("A1") = myMsg   MsgBox myMsg   Exit Sub ErrorHandler:   'Range("A1") = "エラーです"   MsgBox "エラーです" End Sub

norinori55
質問者

お礼

九九は例示で書きました。 もっと具体的なものを書いたほうがよかったですね。   貼り付けて試してみましたが、分かりませんでした。 すみませんでした。 

回答No.1

セルがアクティブになったら参照元トレースを表示するようにするのはだめですか?

norinori55
質問者

お礼

すばやく答えていただいて、ありがとうございました。 「参照元トレース」というのが分からないので調べてみます。

関連するQ&A