アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問させて下さい。

シートの中から、
1.コメントが入力されているセルのセル番号
2.コメントの内容
3.コメントが挿入されているセルに入力されている値

以上3点を別シート(Sheet2)に抜き出したいと考えています。

自分なりに調べたところ、1.2.は以下の方法で抜き出す事が出来ましたが、
「3.コメントが挿入されているセルに入力されている値」のみ方法が見つかりませんでした。
1.でセル番号を取得していますので、そのセル番号から値を抽出する方法もあるかと思いますが、
もっと簡潔に、「3.」を抽出する方法をご存じの方がいましたら、ご教授いただけませんでしょうか?

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

--------------------------------------------------------------

Sub GetAllComments()

Dim tempCom As Comment
Dim intRow As Integer
intRow = 1

For Each tempCom In ActiveSheet.Comments


Worksheets("Sheet2").Range("A" & intRow) = _
tempCom.Parent.Address(0, 0)

Worksheets("Sheet2").Range("B" & intRow) = _
tempCom.Text

intRow = intRow + 1
Next tempCom

End Sub

A 回答 (2件)

こんばんは!



安直な考え方ですが・・・
> tempCom.Parent.Address(0, 0)
でセル番地が取得できているというコトは
tempComの親オブジェクトは「コメントが挿入されているセルそのもの」というコトになりますので
それをそのまま利用してはどうでしょうか?
コードに少し手を加えさせていただきました。

Sub GetAllComments()
Dim tempCom As Comment
Dim intRow As Integer
For Each tempCom In ActiveSheet.Comments
intRow = intRow + 1
With Worksheets("Sheet2").Cells(intRow, "A")
.Value = tempCom.Parent.Address(False, False)
.Offset(, 1) = tempCom.Text
.Offset(, 2) = tempCom.Parent.Value
End With
Next tempCom
End Sub

C列にコメントを挿入されているセルの「値」が表示されると思います。m(_ _)m
    • good
    • 1
この回答へのお礼

返信が遅くなりまして申し訳ございません。

ありがとうございます。
問題なくやりたい事が出来ました。

自分ではまだ理解できない部分もありますが、
教えて頂きましたコードを元に調べていきたいと思います。

ありがとうございました。

お礼日時:2015/02/15 21:22

こんばんは。



内容や構造が重複しないように書いてみました。
簡単なことを難しく書いているだけかもしれませんが。

'//
Sub MacroSample2()
 Dim i As Long, j As Long
 Dim ar As Variant
 With ActiveSheet
  j = .Comments.Count
  ReDim ar(1 To j, 1 To 3)
  For i = 1 To j
   ar(i, 1) = .Comments(i).Shape.TopLeftCell.Cells(2, 1).Address
   ar(i, 2) = .Comments(i).Shape.DrawingObject.Caption
   ar(i, 3) = .Range(ar(i, 1)).Value
  Next i
 End With
 Worksheets("Sheet2").Range("A1").Resize(UBound(ar), UBound(ar, 2)) = ar
End Sub
'//
    • good
    • 1
この回答へのお礼

返信が遅くなりまして申し訳ございません。

ありがとうございます。
教えて頂きましたコードで問題なくやりたい事が出来ました。

マクロ自体も、私が調べたものよりも分かりやすく、後々の手直しする場合も簡単そうで助かります。

ありがとうございました。

お礼日時:2015/02/15 21:20

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