概要
Office表格(Excel表格)中实现将指定列中含有批注的单元格中的批注内容放到该行的后面一单元格中。
实现流程
- 获取当前活动的sheet表。
- 要求选择含有批注的单元格范围。
- 要求选择一个单元格,这个单元格所在的列将被用来放置批注内容。
- 宏获取用户选择的单元格的列号,并遍历含有批注的单元格范围。
- 对于每个含有批注的单元格,宏将批注内容复制到同一行的目标列中的单元格。
- 如果需要,可以删除原批注。
- 显示一个消息框来通知用户操作已完成。
具体代码
Sub MoveCommentsToUserSelectedColumn()
Dim ws As Worksheet
Dim rngComments As Range
Dim cell As Range
Dim targetCell As Range
Dim userSelectedCell As Range
Dim targetColumn As Long
Set ws = ActiveSheet
On Error Resume Next
Set rngComments = Application.InputBox("请选择含有批注的单元格范围:", Type:=8)
On Error GoTo 0
If rngComments Is Nothing Then
MsgBox "未选择范围,操作取消。"
Exit Sub
End If
Set userSelectedCell = Application.InputBox("请选择要将批注内容放置的列的任意一个单元格:", Type:=8)
If userSelectedCell Is Nothing Then
MsgBox "未选择单元格,操作取消。"
Exit Sub
End If
targetColumn = userSelectedCell.Column
For Each cell In rngComments
If Not cell.Comment Is Nothing Then
Set targetCell = ws.Cells(cell.Row, targetColumn)
targetCell.Value = cell.Comment.Text
' 如果需要,删除原批注
cell.Comment.Delete
End If
Next cell
MsgBox "批注内容已复制到指定列的相同行号中。"
End Sub
使用方法
- 微软Office(WPS Office中使用与MS一致)
- 永中 Office
小结
到此,所有分享结束了,希望代码可以帮助你们。还有更多功能和方法值得我和你们去研究,感谢浏览。有其他好的问题和经验可以在评论区留言或私信我。