いよいよ公開!ア・ゴースト・ストーリーのみどころ紹介!

Excel2003でコメントを使用しているのですが、暫くぶりにコメントを編集した時に、何時も困る事がございます。
コメントの『表示』(常時・ポイント時共)では、設定セルの近くにキチンと表示されるのですが、「編集画面(コメントのボックス?)」が、設定セルから程遠い有らぬ位置に飛んでいる経験はございませんでしょうか?

■原因
・列や行等の表示・非表示?
・セルの挿入?
どの時点で飛んでしまったのか理解していないので、私の勝手な想像ですみません…。
コメント設定時には、キチンと設定セルの傍に「編集画面」も有るのですが、日々使用し、忘れた頃に確かめると、あらぬ所に飛んでおります。

■希望
この現象を回避し、「編集画面」もコメント設定セル付近に表示させていたいです。
(1)どの様に設定すれば宜しいでしょうか?
私の経験では、「コメントの書式設定」-「プロパティ」-「オブジェクトの位置関係」で、
a「セルに合わせて~変更をしない」……これが、一番遠くに飛んでしまってました。
b「~移動するが、サイズ変更しない」…遠くに飛んでおります。
c「~移動やサイズ変更をする」…………飛んで行き、かつサイズが0。

(2)全てのコメント位置を一度に修正(コメント設定セルの側に戻す)する方法はございますか?
沢山設定していると、一つ一つ修正する作業はかなり大変です。

過去の履歴でも、解決出来ていないようです。
http://oshiete1.goo.ne.jp/qa886274.html

どなた様か、ご存知の方がございましたら、是非教えて下さい。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

コメントの位置を修正するなら以下のような操作が簡単かもしれません。



コメントのシートのA列からデータ範囲の列を選択して、Ctrl+Cでコピーし、空白シートのA1セルでCtrl+Vで貼り付け、そのままもう一度Ctrl+Xで切り取り、元のシートのA1でCtrl+Vで貼り付けます。
    • good
    • 20
この回答へのお礼

MackyNo1様、アドバイス有難うございます。
なるほど……これは素晴らしい方法ですね。
読んだ途端に衝撃が走りました。
素晴らしい発想力に、「頭いい…」と感動してしまいました。
お陰様で、一発で修正出来ました。

今回は既に、時間・労力を費やし、朦朧としながら直しましたが、
次回、喜んで活用させて頂きます。
変な話、教えて頂いた事を実行したいが為に、
「またあらぬ位置に移動してないかな…」と、修正したファイルを確認してしまった程です。(笑)

苦労した分、皆様から頂いたアドバイスは決して忘れることはないでしょう。
この方法は、私だけでなく、他の方々にも必ずや喜ばれる事と思います。

有難うございました。

お礼日時:2009/12/04 12:59

(エクセルの原則)数の多いときはVBA。


沢山のコメントの入ったシートを用意するのは大変なので、少数でしかテストできてませんが。標準モジュールに貼り付け、実行。
Sub Test01()
Dim cl As Range
For Each cl In Range("A1:D20")
If cl.NoteText <> "" Then
MsgBox cl.Address
cl.Comment.Shape.Select True
Selection.ShapeRange.Top = cl.Top + 10
Selection.ShapeRange.Left = cl.Left + cl.Width + 10
cl.Comment.Shape.Visible = False
End If
Next
End Sub

「コメントの枠の左上隅位置」が、「セルの右端上位置」から、下へ10、右に10の位置に揃うと思います。10は適当な好みで。
上記テストではRange("A1:D20")に限定してます。適当に広げてください。
また
cl.Comment.Shape.Visible = False
で見えなくしてますが、cl.Comment.Shape.Visible = Trueにすればコメント枠が見えたままに出来ます(位置の確認ができる)
Msgboxは「コメントあり」のセルを正確に捉えたか確認用。納得すれば削除。
これらコードはマクロの記録を参考にしてますが、コメントのVBAでの扱いは、他と不統一で手こずる。
    • good
    • 0
この回答へのお礼

imogasi 様、アドバイスを頂き、誠に有難うございます。

お忙しい中貴重なお時間を費やしテストを繰返して下さったとの事、心から感謝しております。
私にはコメント操作のVBA知識が無かった故、確認に手間取ってしまい、お礼が遅くなってしまいました。
誠に申し訳ございませんでした。

imogasi 様のアドバイス通りにモジュールを作成し、範囲選択で多少変更を加えて実行した結果、解決出来ました。
楽しくなって、何度もマクロを実行させてしまいました。(笑)
VBAは、「誰でも」という訳にはいきませんが、知識があればこんなにも快適になるのですね。
喜んで活用させて頂きます。
有難うございました。

色々な角度から、難なく解決できてしまう皆様は凄いですね。
知識がある事の素晴らしさを目の当たりにし、「凄いな~」と心底関心致しております。

「(エクセルの原則) 数の多いときはVBA」良く理解致しました。
imogasi 様の様に、サラリとVBAを書ける迄、私も知識を高めたいと思います。

今回はとても勉強になりました。
ご質問させて頂いて良かったです。
有難うございました。

お礼日時:2009/12/08 23:49

こんにちは


>沢山設定していると、一つ一つ修正する作業はかなり大変です。
 私は、この点でコメントを使うのを止めてしまいました。
 ウインドウ枠の固定をやっているとおかしな動きをするし..

 よい解決法が見つかるといいですね。

 ちなみにコメントを止めてから状況に応じて入力規則のメッセージを使うようにしています。 入力規則のメッセージはセルをポイントしないと表示されませんが入力する際のヒントのような場合には適切なので。
    • good
    • 0
この回答へのお礼

A88No8様、アドバイス有難うございます。
A88No8様もご苦労された経験をお持ちなのですね…。
お仲間が居て何だか嬉しい限りです。

「コメントの使用を止められた」との事。
貴重な体験に基づくアドバイス、有難うございました。
そのお陰で、
「なるほど…そういう手も有るな…。
いや、むしろその方が色々と有効活用できて便利かも…」
と新しい発想を得る事が出来ました。
何だか、色々と発想が膨らんできました。有難うございました。

お礼日時:2009/12/04 12:54

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルでセルに挿入したコメントの表示位置について

セルに挿入したコメントの表示位置を自由に設定する事はできないのでしょうか?

画面右の方にあるセルにコメントを挿入したのですが、カーソルを合わせるとセルの右にコメントが表示されるので、スクロールさせてからセルにカーソルを合わせないと、挿入したコメントが全部見えない状態になります。

コメント編集時には、コメントが全部見えるように画面中央に設置しています。
ですが、実際にカーソルをセルに合わせると、セルの右側にコメントが表示されてしまいます。

コメントの表示位置を設定する事はできないでしょうか?
アドバイスをお願い致します。

Aベストアンサー

コメントのボックスの位置を変えて、マクロの記録をとると
Sub Macro1()
Selection.ShapeRange.IncrementLeft -96.75
Selection.ShapeRange.IncrementTop 13.5
End Sub
のようになる。
だから普通で、画面の端にきたら、内側に位置換えすることは、VBAに堪能なら出来そうだ。
現ウインドウのサイズや現コメントボックスのサイズやを計算して
位置決めが必要だが、面倒なので省略するが。
ーー
ウインドウのヘルプ画面などうまく画面の端で切れるのを避けて、場所移動してくれるのも多いように見えるが、コメントはそうしてくれないようだ。
右クリックのプルダウンなども下ですると、上に吹き上がるように表示するのに。
ーー
VBA以外で、操作や設定で、質問のようには出来ないでしょう。

Q【エクセル】コメントの初期(固定)書式を設定したい。

いつもお世話になってます。

エクセル2003について以下の点についてご教示ください。

セルにコメントをよく付ける作業があるのですが、コメントと入れようとすると、コメントの書式が「サイズ:9、スタイル:太字」になっています。

私は、標準の12でコメントを入れたく、この為コメントの書式をいちいち直さなくてはなりません。

シートごとに違うコメントの書式を設定したい。と贅沢は言いませんが、ブック全体に保存して再度開いても変わらないコメントの書式を設定するには、どうすればいいのでしょうか?

よろしくお願いします。

Aベストアンサー

初心者です(汗)

デスクトップの何も無い所を右クリック

プロパティをクリック

デザインをクリック

詳細設定→’指定する部分’で’ヒント’を選択

ここでコメントの書式が設定できる様です。
但しエクセル以外の、マウスカーソルを載せた時に出る説明文なども同じ書式に変わってしまうみたいです。
参考URLはExcel97ですが、Excel2003とかでも大丈夫でした(^-^;)

参考URL:http://www.mct.ne.jp/users/fjv/win2ktips/tip1005.htm

Qエクセルのコメントの引き出し線の位置

お世話になります。

コメントがたくさんついているエクセルファイルがあるのですが、
なぜか引き出し線の位置がばらばらです。

普通に作成すると、コメント欄の左上から引き出し線がでると思いますが、
このファイルはコメント欄の四隅や、各辺の中央から引き出し線が出ており、
統一されていません。

これをVBAで左上に統一したいのですが、コマンドが判りません。

.adjustments.item は吹き出しのみ対象なのでしょうか、
エラーが出てうまくいきませんでした。

ご存知の方がいらっしゃいましたらよろしくお願いします。

Aベストアンサー

てきとーに書いてみたので、参考になれば。書式コピーは最小限なので、必要に応じて追加してください。

※注意:コメントは、CommentがShapeを操作する形で、2オブジェクトで構成されてます。Shape削除すると壊れるので、削除はCommentの方で。

'シート内のコメントを全て作り直し
For Each c In ActiveSheet.Comments
Set rng = c.Parent 'セルを取得
v = c.Visible
txt = c.Shape.TextFrame.Characters.Caption 'c.Textでもいい
x = c.Shape.Left
y = c.Shape.Top
h = c.Shape.Height
w = c.Shape.Width
With c.Shape.TextFrame '書式
 imax = .Characters.Count
 ReDim a(1 To imax, 1 To 10)
 For i = 1 To imax
   Set z = .Characters(i, 1).Font
   a(i, 1) = .Characters(i, 1).Font.Size
   a(i, 2) = .Characters(i, 1).Font.ColorIndex
   a(i, 3) = .Characters(i, 1).Font.Bold
   a(i, 4) = .Characters(i, 1).Font.Italic
 Next
End With
c.Delete 'コメント削除
Set c = rng.AddComment(txt) '追加
c.Visible = v
c.Shape.Left = x
c.Shape.Top = y
c.Shape.Height = h
c.Shape.Width = w
With c.Shape.TextFrame '書式
 For i = 1 To imax
  Set z = .Characters(i, 1).Font
  .Characters(i, 1).Font.Size = a(i, 1)
  .Characters(i, 1).Font.ColorIndex = IIf(a(i, 2) = 74,xlAutomatic, a(i, 2))
  .Characters(i, 1).Font.Bold = a(i, 3)
  .Characters(i, 1).Font.Italic = a(i, 4)
 Next
End With
Next

てきとーに書いてみたので、参考になれば。書式コピーは最小限なので、必要に応じて追加してください。

※注意:コメントは、CommentがShapeを操作する形で、2オブジェクトで構成されてます。Shape削除すると壊れるので、削除はCommentの方で。

'シート内のコメントを全て作り直し
For Each c In ActiveSheet.Comments
Set rng = c.Parent 'セルを取得
v = c.Visible
txt = c.Shape.TextFrame.Characters.Caption 'c.Textでもいい
x = c.Shape.Left
y = c.Shape.Top
h = c.Shape.Height
w = c.Shape.Width
With ...続きを読む

QExcel コメントの線が伸びたとき

Excel(2013を使っています)で、セルにコメントを付けて、コメントを常時表示の設定にし、その上で周囲の列の幅を広げると、添付画像のようにコメントの線が伸びまくります。何も考えず列の幅をいじりまくっていると、線が伸びまくったコメントが幾つも出来上がってしまうのですが、それらの線の長さを一括で短くできないでしょうか。プロパティでサイズ指定しても、コメントの四角形の高さと幅しか指定できないし、線の長さは1個ずつマウスでドラッグして変えるしかないのでしょうか。

Aベストアンサー

マクロになってしまいますが、こんな感じです。
移動位置は、対象セルの右上の角を基準に、その右上(上-30ポイント、左+30ポイント)としています。

Sub sample()
Dim c As Variant
For Each c In ActiveSheet.Comments
c.Shape.Top = c.Parent.Top - 30
c.Shape.Left = c.Parent.Left + c.Parent.Width + 30
Next
End Sub

Qエクセルでコメントの書式を一括変更できますか?

エクセルの2002を使用しています。
計算式が入っているセルの説明のためコメントを使用することが多いのですが、コメントの書式の初期値を変更する方法はないでしょうか?
具体的にはコメントの書式を
1 フォントと大きさの変更
2 フォントの色
3 コメントを挿入した場合、表示にする。
としたいのです。
コメントを挿入するたびに同じ操作をするのがおっくうなので、よろしくお願いします。

Aベストアンサー

1と2について
変更は可能ですが、エクセルのコメントだけ変更することはできません。
このコメントの書式は、たとえばデスクトップ画面の下にあるタスクバーのプログラムやアイコンにポインタ(画面上の矢印)を持って行ったときに、吹き出しみたいな説明が表示されます(設定によっては表示されないこともあります)。右下の時間が表示されている部分などにマウスを置いてみてください(クリックしないで置くだけです)。このように表示されるものを「ヒント」と言います。
さて、画面を右クリック→プロパティで「画面のプロパティ」を開いてください。
デザインタブをクリックします。
WindowsXPの場合は「詳細設定をクリック」、そのほかの場合はそのままで良かったかと思います。
「指定する部分」で「ヒント」を選択します。
この部分を変更すると、エクセルのコメントのフォントなどが変更できますが、当然のことながら画面上に表示される「ヒント」なども同じように変更されてしまいます。
このように、エクセルのコメントの書式の初期設定は、エクセルではなくWindowsの設定を使っています。
一度変更されてみて、「ヒントも見やすくなっていいや」、「ヒントはこんでも我慢できる」となればラッキーです。どうぞお試しください。

1と2について
変更は可能ですが、エクセルのコメントだけ変更することはできません。
このコメントの書式は、たとえばデスクトップ画面の下にあるタスクバーのプログラムやアイコンにポインタ(画面上の矢印)を持って行ったときに、吹き出しみたいな説明が表示されます(設定によっては表示されないこともあります)。右下の時間が表示されている部分などにマウスを置いてみてください(クリックしないで置くだけです)。このように表示されるものを「ヒント」と言います。
さて、画面を右クリック→プロパテ...続きを読む

QExcelのコメントが表示されない

自分が作成したものではないExcelファイルを編集しています。

いくつかのセルにコメントがあるのですが、その中で表示されないものがあります。
インジケータは表示されていて、ポイントするとコメントが入っている
ボックスに付いている矢印(すみません、なんて名称なのか不明です)は
表示されますが、コメント自体が表示されません。

「コメントの編集」や「コメントの表示/非表示」などを選択しても
何も変化はありません。
コメントの文字の入力がない場合でも、ボックスは空の状態で
表示されると思うのですが、これはどんな状況なのでしょう。

コメントの編集をしたいのにできず、文字の入力があるかないか
わからない状態で下手に「コメントの削除」はできません。
どなたかよいアドバイスがありましたら教えてください。
よろしくお願いします。

Aベストアンサー

ANo2です。

(1)コメントの編集
(2)ESCキーを1回押す
(3)メニューの書式→コメント
で出来ると思います。

QExcel2000のセルに付けたコメントの位置と大きさが狂う

Excelのセルに付けたコメント(吹出しのように表示されるアレです)が、シートを編集しているうちに、表示される位置や大きさが知らないうちに狂ってしまいます。マウスカーソルを持っていって表示されるときのそれも、コメントを編集状態にした時のそれも、各々別々に、とんでもない位置や大きさに、知らないうちに変わってしまいます。
行をグループ化して折り畳んだり広げたりしているのですが、どうもこの折り畳みの座標の相違分がコメントの座標値に正しく反映されていないような表示のされ方になります。

グループ化の機能も使用し、かつ、このコメントの表示位置の問題を解決する方法は無いでしょうか?

使用環境は次のとおりです。
Windows2000 SP4 , Excel2000 SP3 (どちらも最新にUpDate)

よろしくお願い致します。

Aベストアンサー

こんにちは。
>マウスカーソルを持っていって表示されるときのそれも
...という事なので、はずしてるかもしれませんが
コメントを右クリック[コメントの書式設定]-[プロパティ]タブで
「○ セルに合わせて移動やサイズ変更をしない」
にしても効果ないですか?

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報