2013-01-16 3 views

답변

1

자신이 직접 알아야 할 것이므로 여기에 한 시트의 셀 주석을 다른 시트의 실제 셀로 복사하는 매크로가 있습니다. 더 좋을 수도 있지만 일을 끝내고 더 이상 (내) 시간을 할애 할 가치가 없습니다!

REM ****** BASIC ********* 

Sub ExtractCommentAnnotationThings 

Dim myDoc as Object 
Dim originalSheet as Object 
Dim newSheet as Object 
Dim originalCell as Object 
Dim newCell as Object 
Dim commentString As String 

REM DEFINE VAR FOR OUR LOOP 
Dim iTargetRow, iTargetColumn As Long 

Const kEndRow = 950 
Const kEndColumn = 20 

REM SET DOC 
myDoc = ThisComponent 

REM GET SHEET 
originalSheet = myDoc.Sheets(0) 
newSheet = myDoc.Sheets(1) 

REM START LOOP 
For iTargetRow = 0 To kEndRow: DoEvents 
For iTargetColumn = 0 To kEndColumn: DoEvents 
    originalCell = originalSheet.getCellByPosition(iTargetColumn,iTargetRow) 
    REM commentString = Trim(originalCell.Comment.Text) 
    If originalCell.Annotation.isVisible = True Then 

     commentString = originalCell.getAnnotation().String 

     newCell = newSheet.getCellByPosition(iTargetColumn,iTargetRow) 
     newCell.String = commentString 
    End If  
Next 
Next 
REM CONTINUE LOOP 

End Sub 

은 복사하려는 셀의 범위를 포함하도록 kEndRowkEndColumn을 설정합니다. originalSheetnewSheet을 적절하게 설정하십시오 (새 시트를 먼저 만들어야 할 수도 있음). 원하는 위치에 복사됩니다.

희망이 있습니다.