vba代码 - 在值更改时复制上面的单元格

时间:2017-07-28 20:45:18

标签: vba excel-vba excel

我是一名vba初学者,我想知道如何处理代码。 我在列#34; C"中有id号。和" H"。列" H"中的值正在改变每一个小小。所以看起来如下:

我需要浏览专栏" H"如果值发生变化,我需要复制列中的行" c"并将它们粘贴到另一张工作表中值更改时需要新工作表。所以,它循环通过" H"遇到了88888,因此3x12345转到另一张,3x 22222转到另一张,2x33333转到另一张,依此类推。需要将更改上方的单元格复制到另一张表格中...

C H

12345     77777个
12345     77777个
12345     77777个
22222     88888个
22222     88888个
22222     88888个
33333  99999个
33333 99999

44444     99999个
44444     99999

当然,有一种方法可以做到这一点。我希望这很清楚。 我很感激你的帮助。

1 个答案:

答案 0 :(得分:0)

这应该有效,祝你好运!

Sub YouShouldHavePostedAnAttemptFirst
dim c as Range
dim CtRows  As Integer, SheetCtr as Integer
'Try to put your data on sheet 1 then create a new sheet so that it is the second sheet in the workbook. 

SheetCtr = 2

ctrows = application.counta (sheets(SheetWithDataOnIt).Range("h:h"))
for each c in range(cells(1,8),cellS(ctrows,8))
     c.offset(,-1). Copy Sheets(SheetCtr).Cells(rows.count, WhatEverColumnYouWant).end(xlup).offset(1,0)

     if c.offset(1,) <> c then
          Sheets.Add after:=Sheets(ActiveWorkbook.Sheets.Count)
          SheetCtr = SheetCtr + 1

     end if
next c

end sub