下面的截图说明了我的问题:
我在网上搜索了很多,几乎所有资料都说要删除工作表末尾的空行并保存文档。例如,这就是建议的这里(见第 2f 节)。
有时这会有效,但大多数时候却无效!
我不知道这是否是相关信息,但我的 Excel 文档包含三个用户定义的宏,其中两个与注释格式有关。工作表“注释 A”中有很多注释,其中大部分都以图片作为背景。另外,我的文档没有受保护,所以我不认为问题在于额外的行被锁定了。
这个问题有明确的解决办法吗?
添加:这是我的三个宏的代码。
模块 1:这是一个按字母顺序对单词的字母串进行排序的宏。例如,将其应用于包含 HELLO 的单元格将得到 EHLLO 作为输出。
Option Compare Text
Function SortString(ByVal iRange, Optional Croissant As Boolean = True)
'Trevor Shuttleworth, mpep, modifié fs, mpfe
Dim i%, j%, sTemp$
For j = 1 To Len(iRange) - 1
For i = 1 To Len(iRange) - 1
If Mid(iRange, i, 1) > Mid(iRange, i + 1, 1) Then
sTemp = Mid(iRange, i, 1)
Mid(iRange, i, 1) = Mid(iRange, i + 1, 1)
Mid(iRange, i + 1, 1) = sTemp
End If
Next
Next
If Croissant = False Then
For i = Len(iRange) To 1 Step -1
SortString = SortString & Mid(iRange, i, 1)
Next
Exit Function
End If
SortString = iRange
End Function
模块 2:这是一个自动调整包含单词的注释大小的宏。
Sub Fitrangecomments()
'Updateby20140325
Dim rng As Range
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
If Not rng.Comment Is Nothing Then
rng.Comment.Shape.TextFrame.AutoSize = True
End If
Next
End Sub
模块 3:这是一个宏,它要求用户为要创建的评论选择背景图像,并自动调整评论大小以匹配图像尺寸。
Sub InsertComment()
Dim strImagePath As Variant
Dim objImage As Object
strImagePath = Application.GetOpenFilename("Picture, *.jpg; *.png; *.bmp")
If strImagePath = False Then Exit Sub
Set objImage = CreateObject("WIA.ImageFile")
objImage.LoadFile strImagePath
With ActiveCell
If .Comment Is Nothing Then .AddComment ("")
.Comment.Shape.Fill.UserPicture strImagePath
.Comment.Shape.Height = objImage.Height * 0.75
.Comment.Shape.Width = objImage.Width * 0.75
End With
End Sub
答案1
您在哪个范围内调用该 SortString 函数?如果它循环遍历整个工作表,那么这可能解释了您的问题。考虑使用命名范围,或者嵌入“Count”函数,以便它仅在已填充的行上运行。
不会问关于羊角面包的事……