• ベストアンサー

excel のコメント欄に文字を一文字ずつ表示していきたい。

エクセルのセルに覚えたい項目を設定し、マウスを近づけるとコメント欄がでてくるようにして、コメント欄に覚えたい内容を表示するようにしたのですが、一度に文が全部出てきてしまうので、マウスのクリックごとに一文字ずつコメント欄に表示されるようにしたいのですが、マクロで可能でしょうか。暗記ソフトでは一文字ずつ表示してくれるものはあるのですが、体系的に覚えなければならないので、是非excelでやりたいのですが。教えてください。マクロの記述例をお願いします。困っています。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

API関数と、右クリックイベントを使ってみました。 Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)   If Target.Address <> Range("E5").Address Then Exit Sub   Cancel = True   Call testCmntTxt   While GetAsyncKeyState(vbKeyRButton) < 0     DoEvents   Wend End Sub Sub testCmntTxt()   Static n As Integer   Dim str As Variant   str = Array("あ", "い", "う", "え", "お")   Select Case n     Case Is >= 5: n = 0     Case Is <= 4: n = n + 1   End Select   With ActiveCell.Comment.Shape.TextFrame     .AutoSize = True     Select Case n       Case Is = 0: .Characters.Text = "あいうえお"       Case Is <= 5: .Characters.Text = str(n - 1)     End Select   End With End Sub

syobu
質問者

補足

ありがとうございます。本当に感謝でいっぱいです。この文字列(あ、い、う、え、お)をセルの内容として読み出して(このセルはディスプレー画面の外に配列しておく)表示する方法は可能でしょうか。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんにちは。 いくつか有名なソフトがあるのに、あえてExcelを選ぶということで、それは、それなりに自分で開発するつもりでしょうから、それなら、ご自分でVBAで学んだほうがよいと思います。 私個人も「フラッシュカード(単語カードという意味)」をUserFormで作ったことがあります。「単語力」というサイトで、間違ったものだけを拾い上げるプログラムです。それを一覧にして、ランダムで問題を出すというものです。なお、通常は、私は、一般のソフトを使っています。それは、多くの人が知恵を寄せて作り上げているものです。 #1さん曰く >到底実現できるものではないということが。 そうなのです。そんなに簡単には作れません。実務的に使えるかはなんとも言えません。しかし、多くのプログラムの天才たちは、数ヶ月で目的のコードを自力で取得しているそうですし、この世界で有名な方ですが、たった2年で、VBAの頂点まで極めている人もいます。 これは、あくまでも、マクロの実例であって、ご要望を満たしているとは限りません。 コメントのあるセルをクリックすると、その中の文字に、一文字ずつ出てきます。文字の色を消していますが、背景色により見えてしまうこともあります。現在は、Font.ColorIndex が、2=白になっていますが、適宜工夫してください。 注:一旦、このマクロを付けると、コメントは編集はできなくなりますから、マクロを止めるなり、別のシートで加工して貼り付けで戻すとかしないと、直接、該当のシート上では編集できません。 'シートモジュール '--------------------------------------------- Private Sub Worksheet_SelectionChange(ByVal Target As Range)   Dim strLen As Integer   Dim n As String   Dim i As Integer   Dim j As Integer   Dim k As Integer   Dim txtChrs As Object   Dim oCmt As Comment   k = 0   Set oCmt = Target.Comment   If oCmt Is Nothing Then Exit Sub   With oCmt     Set txtChrs = .Shape.TextFrame.Characters     n = txtChrs.Text     n = Replace(n, vbLf, "", , 1, vbTextCompare) '末尾の改行コードを取る     strLen = Len(n)     For i = 1 To strLen - 1       If .Shape.TextFrame.Characters(i, 1).Font.ColorIndex = 1 And _        .Shape.TextFrame.Characters(i + 1, 1).Font.ColorIndex = 2 Then         k = i         Exit For       ElseIf .Shape.TextFrame.Characters(i, 1).Font.ColorIndex = 1 And _        .Shape.TextFrame.Characters(i + 1, 1).Font.ColorIndex = 1 Then         k = 0         Exit For       End If     Next     If k = 0 Or k = strLen Then       .Shape.TextFrame.Characters.Font.ColorIndex = 2       .Shape.TextFrame.Characters(1, 1).Font.ColorIndex = 1     ElseIf k > 0 And k < strLen Then       .Shape.TextFrame.Characters.Font.ColorIndex = 2       .Shape.TextFrame.Characters(k + 1, 1).Font.ColorIndex = 1     End If   End With   Target.Offset(, 1).Select End Sub '----------------------------------------- なお、私は、単語そのものを、英和・和英とも一目で全体を把握するようにしています。単語を覚えるときは、イメージを大事にします。また、例文を付けるようにしています。例文自体は、丸覚えはできないようです。たぶん、脳で分解されてしまうようです。ただ、単語の一字一句を覚えるようなことをすると効率が悪いように思います。(年のせいかもしれませんが) 前述の私の使用しているソフトは、「P-Study + P-DIC +英辞郎」 の組み合わせを使っています。問題の編集は、Excelで行い、CSV出力します。自作問題集のがっちりしたものを作るのは、かなり面倒です。発音記号はほぼ出ますが、ないものは、Unicode で書きます。また、英作文の短文も登録できます。 http://www.takke.jp/?t=r:PSS8.2.0

syobu
質問者

お礼

こんなに詳しく教えてくださいまして、感謝です。最初の方の回答で、やはり難しいかと思っていましたが、そのあとご親切にヒントや手がかりとなる情報を寄せてくださいましてありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

進んでいますか。 解らなければ遠慮なく、補足欄にでも書き込みしてください。 先のコードをちょっと見直してみました。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Static n As Integer   Dim str As Variant   Cancel = True   str = Array("あ", "い", "う", "え", "お")   If Target.Address <> Range("E5").Address Then Exit Sub   Select Case n     Case Is >= 5: n = 0     Case Is <= 4: n = n + 1   End Select   With Target.Comment.Shape.TextFrame     .AutoSize = True     Select Case n       Case Is = 0: .Characters.Text = "あいうえお"       Case Is <= 4: .Characters.Text = str(n - 1)     End Select   End With End Sub

syobu
質問者

補足

ありがとうございます。いろいろやっています。実はマウスボタンを押しているときだけ一文字ずつ表示し、マウスボタンを離すと表示が一時停止するようにできればと思うのですが、MousedownやMouseup関数が見当たらないこと、ダブルクリックするたびにコメント欄が描画されるためにちらつくこと、これを変えられればと調べています。

全文を見る
すると、全ての回答が全文表示されます。
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

○投げは良くないですよ。自助努力が必要です。 Excelには「マクロの記録」という素晴らしい道具が用意されています。 記録して得られたコードでも良いので、コードを提示するようにしてください。 記録されたコードの、単語部分に文字カーソルを置いてF1キーを押せばヘルプにジャンプします。 ヘルプを引く習慣をつければ、段々と解るようになってくると思います。 ≪サンプル≫です。 希望通りとはいかないと思いますが、参考になるかもしれません。 シートラベルを右クリックして、「コードの表示」でVBEが現れます。 現れたVBEの、コードウインドウに、下記サンプルマクロをコピペしてください。 セルE5には、空のコメントを挿入しておいてください。 セルE5をダブルクリックすればマクロが実行されます。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)   Static n As Integer   Dim str As Variant   Cancel = True   str = Array("あ", "い", "う", "え", "お")   If Target.Address <> Range("E5").Address Then Exit Sub   Target.Offset(1).Value = n   Select Case n     Case Is >= 5: n = 0     Case Is <= 4: n = n + 1     Case Is >= 1: n = n + 1   End Select   With Target.Comment.Shape.TextFrame     .AutoSize = True     If n = 0 Then       .Characters.Text = ""     Else       .Characters.Text = .Characters.Text & str(n - 1)     End If   End With End Sub

syobu
質問者

お礼

ありがとうございます。私もいろいろ調べているのですが、なかなかうまくいきません。サンプルありがとうございます。感謝します。

全文を見る
すると、全ての回答が全文表示されます。
noname#77348
noname#77348
回答No.1

VBAの知識がありますか。 まずは自分で調べてみないと・・ そうしたらわかりますよ。 到底実現できるものではないということが。 「課題の丸投げ」は禁止行為です。 以上

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • オートシェイプ図形をクリックでコメントを表示したい

    エクセルで、オートシェイプ図形をクリックした際、コメントを表示したいです。 (データ→入力時メッセージのように…セルをクリックではなく、図形をクリックしてコメント表示) マクロ等で可能なのでしょうか。 可能であれば、右クリック→マクロの登録欄へ記入する文字列をお教え頂けないでしょうか。

  • Excelのマクロ>セルにカーソルがあたったらコメントを表示する

    こんにちはtmgmです。 Excelのマクロについての質問です。 私はよくExcelでコメントを挿入します。コメントは(非表示の場合は)本来マウスカーソルが当たると表示されますが、これをマクロを使ってちょっと改造したいです。その改造したい内容というのは、”セルにカーソルが当たったときだけコメントを表示する”というものです。仕事がらプログラムを組むことが多く、マウスをあまり使いません。ですのでExcelのコメントをキーボード操作で確認したいというのが本来の目標です。 どなたかお分かりになる方、いらっしゃいましたらご返答宜しく御願いします。

  • エクセル2003 コメント欄からの脱出方法

    エクセル2003を使用しています。 コメントを入力後、マウスでコメント欄以外の場所をクリックして元のシートに戻っていますが、 マウスなしで戻る方法はありますか? よろしくお願いいたします。

  • エクセルのコメントについて

    いつも有難うございます。 エクセル2003であるセルにコメントを表示させているのですが、マクロで並び替えをするとコメントだけは並び替えできずに元のセルから動きません。コメントもマクロで動かすことはできるのでしょうか? 何か方法をご存知の方宜しくお願いいたします。

  • エクセルのコメント

    お世話になっています。 エクセルで、セルをクリックすると出てくるコメントの作り方を教えてください。 カーソルをセルに合わせると表示されるコメントではなく、他のセルをクリックするまで表示されるものです。 よろしくお願いします。

  • Firefoxでコメント欄が大きく表示

    FC2ブログをしています。 IE7.0と、Firefox3.0で自分のブログの見え方を確認しているのですが、 コメント欄が大きく違います。 IEで標準的な大きさのコメント欄なのが、Firefoxだととても拡大された コメント欄の囲いが表示され、中に入力する文字も拡大されています。 コメント欄の上にある、名前、タイトル、URL等の入力欄や文字の大きさは 標準通り表示されています。 なぜコメント入力欄のみ拡大表示されるのでしょうか? 今こうして入力している「教えて!goo」の投稿画面も同じで、 質問内容の部分のみ、IEよりFirefoxの方が文字が拡大表示されています。 上の質問タイトルはもっと小さい表示です。 IEの方で見ると、この入力欄はどれも同じ文字サイズで入力出来るのですが? 又、他の方のブログのコメント欄を見ると、IEと同じサイズで表示されています。 これはスタイルシートの設定によるものですか? 私の使っているテンプレートは、htmlにはコメント欄に関する記述がありますが、 スタイルシートの方には「コメント」の部分は全くないです。 スタイルシートの方で何か追加すると良いのでしょうか?

  • エクセルでコメントの挿入

    エクセルでコメントの挿入したところのセルにカーソルを持っていくと右側にそのコメントが表示されますが、一番右端のセルの場合も同様に右側に表示されるので隠れてコメントが見えないのです。もちろん、マウスの右クリックからコメントの表示設定をすれば常に左側に表示されていますが、カーソルをのせた時だけ表示させたいのです。右端のセルに挿入したコメントだけカーソルをのせると左側に表示させるという方法はあるのでしょうか?知っている方よろしくお願いします。

  • エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で変更したいのです。

    エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で同じ大きさに変更したいのです。 だいたい画面で見て横20センチ縦5センチくらいにしたいのですがどうすればよいでしょうか?コメントの編集で一個ずつ左下の所を引っ張って大きくするのは大変なので…。このように変更したいコメント付きセルが100行くらい縦にならんでるのをまとめて変えたいのです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2114461 あとこちらでNO.6の方に一律でコメント欄の文字の大きさを変えるマクロを教えてもらったのですがこれも一緒にできるともっとよいのですが無理でしょうか? 宜しくお願いします。

  • <Excel>コメントが表示されません

    Excelのコメント挿入についてお伺いします。 通常、セルにコメントを挿入すると右上端に赤い三角形がつき 右クリックすると  ・コメントの編集  ・コメントの削除  ・コメントの表示(表示しない) が選択できるようになるかと思います。 それなのに、会社のPCでファイルを開くと何も表示されず そのセルにコメントが挿入されているのかどうかすら分かりません。 右クリックすると  ・コメントの編集  ・コメントの削除 のみは選択が可能で、「編集」を選択すると編集欄が表示され 挿入されているコメントを読むことはできるのですが・・・。 通常の状態に戻すにはどうしたら良いのでしょうか、教えてください。

  • エクセル2007でコメント表示されない

    Windows732bitです。 エクセル2007で昨日まで挿入済みコメントが本日ファイル開いてみたらセル右上の赤マークが消えていてコメントが表示されません。(添付画像) メニュバーの「校閲」--「全てのコメントの表示」クリックしても変化ありません。 原因と再表示させる方法お願いします。

専門家に質問してみよう