我想让评论框恰好符合评论(底部没有额外的空格).
我知道有,.AutoSize但我希望最大宽度为300.
这是我的代码,
For Each mycell In myRng.Cells
If Not (mycell.Comment Is Nothing) Then
With mycell.Comment.Shape
.TextFrame.AutoSize = True
If .width > 300 Then
lArea = .width * .height
.width = 300
.height = (lArea / 300)
End If
End With
End If
Next mycell
Run Code Online (Sandbox Code Playgroud)
mycell并且myRng是Range数据类型,lArea是Long.
现在,这种方法相对较好,但在多个注释的底部留下了额外的空间,因为AutoSized文本占用的区域与AutoSized注释框的区域不同.
有没有办法检查评论中的空白区域然后修剪它?或者是我最好的将是什么?
我环顾四周看似这么简单,但我无法让它发挥作用.
我有一个表,一列需要格式化为百分比.下面是我的代码,但它没有格式化单元格,它只是将它们作为小数.
我认为这是因为cell,即使声明为范围,实际上是单元格的值,所以我不知道如何引用该范围.
我的returnRebate变量被声明为一个范围,循环遍历正确的范围.
码:
Dim cell As Range, p As Double
For Each cell In returnRebate
p = cell.Value
If p <> 0 And p > 1 Then
p = p * 0.01
cell.Value = p
cell.NumberFormat = "Percent" 'Not formatting here
ElseIf p < 1 And p > 0 Then
'do nothing to it
Else
cell.Value = vbNullString
End If
Next
Run Code Online (Sandbox Code Playgroud) 我有一个Worksheet_Change事件,如果F列中的单元格发生变化,会弹出一条消息,询问用户是否要更改单元格文本.
现在,我有VBA代码插入新行,因此,在列F中进行更改,但我不希望弹出消息或根本调用此代码.
有没有办法区分用户和Excel本身(VBA)在工作表上进行更改?