0
各シートからすべてのコメントを読みたいシートがあります。 私はコメントを得ることができましたが、私が得ることができるのは、コメントのセルの同じ行と列の最初のセルです(添付写真)VBA - コメントセルが選択されたときに最初のセルを取得します。
赤いコメントのセル。
緑 - 必要なセル値。
Sub ShowCommentsAllSheets()
'Update 20140508
Dim commrange As Range
Dim rng As Range
Dim ws As Worksheet
Dim newWs As Worksheet
Set newWs = Application.Worksheets("CRs")
newWs.Range("A1").Resize(1, 4).Value = Array("Sheet", "A", "Value", "Comment")
Application.ScreenUpdating = False
On Error Resume Next
For Each ws In Application.ActiveWorkbook.Worksheets
Set commrange = ws.Cells.SpecialCells(xlCellTypeComments)
If Not commrange Is Nothing Then
i = newWs.Cells(Rows.Count, 1).End(xlUp).Row
For Each rng In commrange
i = i + 1
newWs.Cells(i, 1).Resize(1, 4).Value = Array(ws.Name, rng.Address, rng.Value, rng.Comment.Text)
Next
End If
Set commrange = Nothing
Next
newWs.Cells.WrapText = False
Application.ScreenUpdating = True
End Sub
FYI - 'newWS'がActiveSheetでない場合、 'Rows.Count'は別のシートで実行されます。 'NewWS'の行を数えたいと仮定して、行を' i = newWs.Cells(newWS.Rows.Count、1).End(xlUp).Row'に変更します。 Dateセルを入手できますか?列Bで同じ行のセルを取得する方法を見たいですか? – BruceWayne
コードに誤りがあるか、間違ったことをしていますか? @BruceWayne - それは良い習慣だということに同意しますが、実際には各シートの行数が同じであることを考えれば問題ありませんか? – SJR
はい、正確には、私はDateセルを取得することができ、私は同じ行のセルを取得したいと思います。 – David