gpt4 book ai didi

excel - 复杂的Excel宏

转载 作者:行者123 更新时间:2023-12-02 20:54:25 25 4
gpt4 key购买 nike

我正在创建一个复杂的电子表格,我可以在其中每周监控通过我们的网络打给不同客户的调用。我有两张表,“raw_data”和“Sheet1”。

我将数据从我们的服务器复制到“Sheet1”并采用垂直布局,并运行一个宏来删除不必要的数据行。

在“原始数据”中,调用量应根据水平布局中的客户名称进行排序。我想要在这张表上至少有一个带有指定宏的按钮,该按钮将在 A 列中搜索下一个空闲单元格,插入一个新行,添加序列中的下一个日期(2012 年 3 月 19 日,2012 年 3 月 26 日) 2012,...),最后从“Sheet1”复制数据并将值粘贴到正确的列标题下(然后我想删除“Sheet1”的内容,但保留“raw_data”中的值)。

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

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

任何帮助都会很棒,甚至类似的例子也会很棒,这样我就可以自己编辑它们,这样我就可以学习。

谢谢!

标记

更新

我似乎无法以正确的格式将代码添加到评论中。所以又来了...

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 上的列中搜索特定的文本字符串(来自 raw_data 的标题),从代码生成的日期下方复制该行中的值(上面)。我可能可以使用与上面类似的代码或嵌套的 if 语句,但第一个工作表中的值将每周删除一次。这是可能的还是我只是在脑海中梦想?

最佳答案

标记,如果数据不是表格格式(即它不是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

如果需要,您可以对日期列上的数据进行排序。

如果您的数据采用表格格式,那么您可以使用此技术,然后对数据进行排序。

Runtime error '91' on macro execution

HTH

席德

关于excel - 复杂的Excel宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com