小编ano*_*ous的帖子

调整excel注释大小以适合具有特定宽度的文本

我想让评论框恰好符合评论(底部没有额外的空格).

我知道有,.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注释框的区域不同.

有没有办法检查评论中的空白区域然后修剪它?或者是我最好的将是什么?

excel vba comments excel-vba

7
推荐指数
1
解决办法
4847
查看次数

VBA对于每个单元格的范围格式为百分比

我环顾四周看似这么简单,但我无法让它发挥作用.

我有一个表,一列需要格式化为百分比.下面是我的代码,但它没有格式化单元格,它只是将它们作为小数.

我认为这是因为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)

vba loops excel-vba percentage number-formatting

5
推荐指数
1
解决办法
4万
查看次数

仅当USER更改工作表而不是VBA代码时才调用Sub

我有一个Worksheet_Change事件,如果F列中的单元格发生变化,会弹出一条消息,询问用户是否要更改单元格文本.

现在,我有VBA代码插入新行,因此,在列F中进行更改,但我不希望弹出消息或根本调用此代码.

有没有办法区分用户和Excel本身(VBA)在工作表上进行更改?

excel vba excel-vba

2
推荐指数
1
解决办法
913
查看次数

标签 统计

excel-vba ×3

vba ×3

excel ×2

comments ×1

loops ×1

number-formatting ×1

percentage ×1