【发布时间】:2018-03-18 20:49:07
【问题描述】:
我遇到了问题,当按字母顺序排列行时,Excel 没有更新引用同一工作簿中其他工作表的行。
我有一个用户表单,其中有一个按钮 insertCM,代码如下:
Private Sub insertButton_Click()
ActiveCell.EntireRow.Select
Selection.Insert Shift:=xltoDown
Range("A9:AK9").Copy
Range("A8:AK8").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
Selection.PasteSpecial Paste:=xlPasteFormats
Range("C10").Copy
Range("C8:C9").Select
Selection.PasteSpecial Paste:=xlPasteFormulas
Range("H9:AK9").Copy
Range("H8:AK8").Select
Selection.PasteSpecial Paste:=xlPasteAll
nomCM = Empty
CXinitial = Empty
resteCX = Empty
CCselect = Empty
C4initial = Empty
resteC4 = Empty
compteurCT = Empty
Range("A8").Activate
ActiveCell.RowHeight = 18.6
For i = 2 To ThisWorkbook.Sheets.Count
With Sheets(i).Select
emptyRow = Range("A9").End(xlDown).Offset(0, 2).Row
Range("A9:AL" & emptyRow).Sort _
Key1:=Range("A9"), Order1:=xlAscending
Set SearchRange = Range("A8", Range("A200").End(xlUp))
Set FindRow = SearchRange.Find(nomCM, LookIn:=xlValues, LookAt:=xlWhole)
Range("A" & FindRow.Row).Select
ActiveCell.EntireRow.Activate
End With
Next i
Sheet2.Select
End
End Sub
用户表单用于同时在多个工作表中插入新客户。 Textbox 在空白行中插入名称、成本中心等,insertButton 插入新行,将插入在 row 8 中的数据转到 row 9。之后,代码将所有行按字母顺序排列,因此row 9 中的新客户端会转到新客户端,并且包含公式的单元格会更改行号。
但是,某些工作表的单元格包含对同一行中其他工作表单元格的引用。想象一下:
我插入客户名称"LORUM" "Cost Center 4" 并将他放入row 9 所以公式是:
=$C9-COUNTIF($E9:$P9;"CT")+'Sheet5'!$D9
...但是当它将他的行更改为最后一行时,公式行是:
=$C18-COUNTIF($E18:$P18;"CT")+'Sheet5'!$D9
引用其他工作表时不改变行。
有什么想法吗?
【问题讨论】: