Archive of Mr Excel Message Board

Hi Chas
Select your entire column and copy it. Select the cell in the first row of any other column and go to Edit>PasteSpecial-Comments.
OzGrid Business Applications

Hi Dave,
Thanks but that just pastes the same comment in that cell, not the text from the comment. It still will not be visible in Access.
Chas

Sorry Chas, I misunderstood you. Run this macro it will do it for you. It will put the text fom all comments into Column B
Sub CopyCommentText()
Dim CmtText As String
Dim CmtCount As Integer, i As Integer
CmtCount = ActiveSheet.Comments.Count
For i = 1 To CmtCount
Cells(i, 2) = ActiveSheet.Comments(i).Text
Next i
End Sub
OzGrid Business Applications

OK, I just picked up on the "ajacent" cell bit, I really should see about getting glasses :)
Use this one instead.
Sub CopyCommentText()
Dim CmtText As String
Dim CmtCount As Integer, i As Integer
Dim CommCell As String
CmtCount = ActiveSheet.Comments.Count
For i = 1 To CmtCount
CommCell = ActiveSheet.Comments(i).Parent.Address
Range(CommCell).Offset(0, 1) = ActiveSheet.Comments(i).Text
Next i
End Sub
It's what you want....Honest!
Dave
OzGrid Business Applications

Hi Dave,
That did work as far as copying the text. I was hoping it could copy to an adjacent cell from each commented cell. It put all comments in column B from 1 thru 825 but they are not in line or connected with the reference cell. I would insert a column next to the column with commented cells and the macro would copy comment text from cell C3 and paste it in cell D3. That way I know which comment goes with which row of information. As it tuns out there are at least 2 columns that have the comments in them as well. I will play with your macro to see what I can do however I am no expert. :) Thanks for the help as it gets me going in the right direction.
Chas

Chas, you must have overlooked my last post, so here it is again.
Sub CopyCommentText()
Dim CmtText As String
Dim CmtCount As Integer, i As Integer
Dim CommCell As String
CmtCount = ActiveSheet.Comments.Count
For i = 1 To CmtCount
CommCell = ActiveSheet.Comments(i).Parent.Address
Range(CommCell).Offset(0, 1) = ActiveSheet.Comments(i).Text
Next i
Dave
OzGrid Business Applications

Hi Dave,
Thank you so much. That one works perfectly as envisioned. I don't know how I missed the previous post other than maybe my need for glasses as well.
Thankx again,
Chas
