OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 困ってます
  • 質問No.118242
  • 閲覧数74
  • ありがとう数6
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 72% (55/76)

 こんばんは。 こちらは、エクセル2000を使用しております。

 アクティブセルの一番上と一番左のセルの内容をくっつけて表示させるには、どうすればいいでしょうか?

掛け算の九九の表を思い出してください。 こんな感じ。。

  2   3   4  5

2 4   6   8  10

3 6   9   12  15   
このような表で例えば「12」と書かれているセルをアクティブにしたあと、マクロ起動させると 「4と3の掛け算です。」という文字を、どこかのセルに記入してもらうには
どうゆうマクロを組み立てればよいでしょうか?

 知ってる人にはものすごく簡単だとおもうのですが、
なにを手がかりに調べたらよいのか、分からなくて困ってます。  教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル9

ベストアンサー率 14% (1/7)

九九の表が、
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

お礼率 72% (55/76)

ありがとうございました。
なるほど、セルの番号をそのまま利用すればいいわけですね。
投稿日時 - 2001-08-14 13:42:29
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル11

ベストアンサー率 33% (135/409)

セルがアクティブになったら参照元トレースを表示するようにするのはだめですか? ...続きを読む
セルがアクティブになったら参照元トレースを表示するようにするのはだめですか?
お礼コメント
norinori55

お礼率 72% (55/76)

すばやく答えていただいて、ありがとうございました。

「参照元トレース」というのが分からないので調べてみます。
投稿日時 - 2001-08-14 13:48:18

  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

九九の表は例示なのか、九九の表で表示されたいのか確信が持てませんが、九九に限定して書いてみました。一応、九九の外を選んだ場合も対応しています。 標準モジュールに貼り付けます。メッセージボックスに表示する2行をコメント行にして、その上のコメント行を有効にすればセルA1に掛け算内容を表示します。Excel97でもOKと思います。(こんなのでいいのかな?) Public Sub Sansyomoto ...続きを読む
九九の表は例示なのか、九九の表で表示されたいのか確信が持てませんが、九九に限定して書いてみました。一応、九九の外を選んだ場合も対応しています。

標準モジュールに貼り付けます。メッセージボックスに表示する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

お礼率 72% (55/76)

九九は例示で書きました。 もっと具体的なものを書いたほうがよかったですね。 

 貼り付けて試してみましたが、分かりませんでした。
すみませんでした。 
投稿日時 - 2001-08-14 13:47:03
  • 回答No.4
レベル9

ベストアンサー率 14% (1/7)

さきほどの補足をいたします。 関係ないセルをクリックしたときには何も表示させないようにするための条件式を追加しました。 Private Sub CommandButton1_Click() Range("a11").Value = "" If ActiveCell.Column * ActiveCell.Row = ActiveCell.Value T ...続きを読む
さきほどの補足をいたします。
関係ないセルをクリックしたときには何も表示させないようにするための条件式を追加しました。

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

お礼率 72% (55/76)

補足までしていただいて、重ね重ねありがとうございました。
投稿日時 - 2001-08-14 13:49:43
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ