复杂的excelmacros

我正在创build一个复杂的电子表格,我可以根据每周通过我们的networking向不同的客户监控电话。 我有两张纸,“raw_data”和“Sheet1”。

我从我们的服务器的数据复制到“Sheet1”成垂直布局,并运行一个macros,剥离不必要的数据行。

在“原始数据”中,呼叫量应该按照客户名称以水平布局sorting。 我想在这张表上至less有一个button与一个分配的macros,将通过列Asearch下一个空闲单元格,插入一个新的行,添加序列中的下一个date(19/03/2012,26/03 / 2012,…),最后从“Sheet1”复制数据,并将这些值粘贴到正确的列标题下(我想删除“Sheet1”的内容,但将值保存在“raw_data”中)。

我知道VBA插入一个新的行在一个特定的点,但不是在长列表的末尾。 这是我有的代码:

Sub Insertrow() Rows("33:33").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove End Sub 

任何帮助将是伟大的,甚至相似的例子将是伟大的,所以我可以自己编辑他们,所以我可以学习。

谢谢!

标记

UPDATE

我似乎无法以正确的格式将代码添加到评论。 所以这里再次…

 Sub Insertrow() 'Selects next empty cell in column A ActiveWindow.ScrollRow = 2 Range("A2").Select Selection.End(xlDown).Offset(1, 0).Select 'Inputs the next date Dim n As Long, k As Long Application.ScreenUpdating = False Rng = 1 Range(ActiveCell, ActiveCell.Offset(Val(Rng) - 1, 0)).EntireRow.Insert k = ActiveCell.Offset(-1, 0).Row 'copies the formula 1 cell from the left (Column A) to the row below n = Cells(k, 1).End(xlToLeft).Column Range(Cells(k, 1), Cells(k + Val(Rng), n)).FillDown End Sub 

我现在要做的是通过Sheet1上的一个列search特定的文本string(来自raw_data的头文件),从该代码生成的date之下的该行复制该值(上面)。 我大概可以使用类似于上面的代码或嵌套的if语句,但Sheet 1中的值将每周删除。 这是可能的,还是我只是在梦中梦见它?

标记,如果数据不是表格格式(即不是listobject那么你不需要插入行),你可以直接写入最后一行。 要将数据写入最后一行,可以使用这样的东西

 Sub Sample() Dim ws As Worksheet Dim wslRow As Long Set ws = Sheets("Sheet1") wslRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row + 1 ws.Range.Range("A" & wslRow).Value = "Blah Blah" End Sub 

您可以根据需要对date列中的数据进行sorting。

如果您的数据是表格格式,那么您可以使用这种技术,然后对数据进行sorting。

macros执行运行时错误“91”

HTH

希德