Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Excel宏选择多行并将其剪切到新工作表_Vba_Excel - Fatal编程技术网

Vba Excel宏选择多行并将其剪切到新工作表

Vba Excel宏选择多行并将其剪切到新工作表,vba,excel,Vba,Excel,我每周运行一次报告,并希望将特定日期范围的行剪切到新工作表中(即,在一个月的第16个月到下个月的第15个月之间有事务处理的所有行) 我想在07/16和08/15之间剪切所有行,并在名为“Aug”的新工作表中跳过它们 并在08/16和09/15之间剪切所有行,并在名为“Sept”的新工作表中跳过这些行 示例数据 A列-B列-C列 发布日期-名称-供应商 2010年7月25日-威尔逊-星巴克 2010年5月8日-威尔逊-美国航空公司 2010年8月14日-广州-苹果专卖店 2010年8月15日-麦基

我每周运行一次报告,并希望将特定日期范围的行剪切到新工作表中(即,在一个月的第16个月到下个月的第15个月之间有事务处理的所有行)

我想在07/16和08/15之间剪切所有行,并在名为“Aug”的新工作表中跳过它们 并在08/16和09/15之间剪切所有行,并在名为“Sept”的新工作表中跳过这些行

示例数据

A列-B列-C列

发布日期-名称-供应商

2010年7月25日-威尔逊-星巴克

2010年5月8日-威尔逊-美国航空公司

2010年8月14日-广州-苹果专卖店

2010年8月15日-麦基-斯台普斯

2010年8月17日-咖喱-美国电话电报公司

2010年2月9日-约翰逊-埃克森美孚


09/11/10-Simms-Old Navy

好的,如果目标工作表上有标题行,这将起作用。我刚刚实现了8月份的复制和粘贴,但是添加9月份或使其完全通用并让它全年都使用都很简单

Dim workingrow As Range

For Each workingrow In Sheets("Main").Rows

If (workingrow.Cells(1, 1).Value >= DateValue("7/16/2010")) And _ 
   (workingrow.Cells(1, 1).Value <= DateValue("8/15/2010")) Then
        workingrow.Copy (Sheets("Aug").Rows(1).End(xlDown).Offset(1, 0))
End If

Next workingrow
Dim workingrow作为范围
对于图纸(“主”)行中的每个工作行
如果(工作行单元格(1,1).Value>=DateValue(“7/16/2010”))和

(workingrow.Cells(1,1).Value好的,如果目标工作表上有标题行,这将起作用。我刚刚实现了8月份的复制和粘贴,但添加9月份或使其完全通用并全年都使用将非常简单

Dim workingrow As Range

For Each workingrow In Sheets("Main").Rows

If (workingrow.Cells(1, 1).Value >= DateValue("7/16/2010")) And _ 
   (workingrow.Cells(1, 1).Value <= DateValue("8/15/2010")) Then
        workingrow.Copy (Sheets("Aug").Rows(1).End(xlDown).Offset(1, 0))
End If

Next workingrow
Dim workingrow作为范围
对于图纸(“主”)行中的每个工作行
如果(工作行单元格(1,1).Value>=DateValue(“7/16/2010”))和

(工作行单元格(1,1).Value你想剪切它们,还是仅仅根据日期标准传输它们?你想剪切它们,还是仅仅根据日期标准传输它们?谢谢你的帮助。我是VBA的初学者-我只使用它来移动对象/编辑图形。我想每个月都有一个标签就行了。在你上面的帖子中,我遇到了麻烦使用最后一个命令workingrow.Copy(Sheets(“Aug”).Rows(1.End(xlDown.Offset(1,0))我将定义应用程序error@Sam,我猜您会得到错误,因为工作表是空的,这就是为什么我说您需要有一个标题行。它至少需要一个预先存在的行才能正常工作(因为End方法是如何工作的)。要使其成为剪切,只需将剪切替换为复制。谢谢帮助。我是VBA的初学者-我只使用它来移动对象/编辑图形。我认为每个月都有一个选项卡会起作用。在上面的帖子中,我对最后一个命令workingrow.Copy(Sheets(“Aug”).Rows(1)End(xlDown)有问题.Offset(1,0))我正在定义应用程序error@Sam,我猜您会得到错误,因为工作表是空的,这就是为什么我说您需要有一个标题行。它至少需要一个预先存在的行才能正常工作(因为End方法是如何工作的)。要使其成为剪切,只需将剪切替换为复制即可。