0
我正在编写一个代码,用于搜索列B中名称的更改,然后根据列中的变量数据插入行和公式E:J当名称更改为某人时新(新值在细胞中)。有些名字不止一次列出,但是在B列中连续列出,我想将它们组合在一起,每个人总共有一个名字,但是现在每次在列B中存在任何数据时总共执行一次,而不是每次名称变化。我遇到的另一个问题是它并没有总计最后一个人,因为除了姓氏之外,B列中没有空格,所以没有什么会改变来激活“THEN”。我很感激我对代码的任何反馈。以下是我目前有:存储单元格值但排除空单元格:
Dim firstrow As Integer
' Start on row 7 to avoid including header
row = 7
firstrow = 1
previous = Range("B7").value
While row < 1000
' Move to next row
row = row + 1
current = Range("B" & row).value
If current <> "" And current <> previous Then
Rows(row).Insert shift:=xlDown
' Formulas for Columns G, I, J, and K
Range("G" & row).Formula = "=SUM(E" & firstrow + 2 & ":G" & row - 1 & ")"
Range("I" & row).Formula = "=sum(H" & firstrow + 2 & ":I" & row - 1 & ")"
Range("J" & row).Formula = WS.Range("G" & row) - WS.Range("I" & row)
Range("K" & row).Formula = WS.Range("J" & row)/WS.Range("G" & row)
row = row
firstrow = row
End If
previous = current
Wend