java excel 插入新行_excel:插入行更新公式

我尝试编写一个宏,双击一个单元格,在该单元格下面插入一个新的行与一些公式 . 对我来说重要的是,如果我再次双击单元格,则使用正确的索引更新先前插入的行的公式 .

例如,在下面的代码中,双击A1将在第2行中插入公式= B2 1 . 再次双击应在第2行插入相同的内容 . 但现在第2行移位到第3行,因此A3中的公式应为= B3 1 .

这是我到目前为止的代码:

Option Explicit

Const MYRANGE As String = "A:A"

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)

'If Sh.Name <> "Sheet1" Then Exit Sub

If Target.Cells.Count > 1 Then Exit Sub

If Intersect(Target, Sh.Range(MYRANGE)) Is Nothing Then Exit Sub

Cancel = True

Target.Rows(2).Insert

Dim newRow As Range

Set newRow = Target.Rows(2)

Dim rowIndex As Long

rowIndex = newRow.row

newRow.Cells(1, 1).Formula = "=B" & rowIndex & "+1"

End Sub

更新:将 Target.Rows(2).Insert 更改为 Target.Offset(1).EntireRow.Insert 解决了问题 . 将问题留待解释什么是Offset以及它与Rows的区别(对于Rows(2),属性EntireRow不存在)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值