ddng.net
当前位置:首页 >> VBA中,如何一次选中符合条件的所有行,并复制到另一工作表? >>

VBA中,如何一次选中符合条件的所有行,并复制到另一工作表?

在book1.xls中写如下代码:sub test() dim i as integer workbooks.open "d:\book2.xls", false, true for i = 1 to range("a65000").end(xlup).row if cells(i, 1) = thisworkbook.sheets(1).range("a1") then thisworkbook.sheets(1).range("b1") = cells(

把Worksheets("sheet1").去掉即可 如果需要指定sheet,请在range内部指定cells

按alt+f11打开vba编辑窗口,在左边列表栏右键选择插入模块,粘贴以下代码 然后返回工作表alt+f8 选中,执行sub hb()application.screenupdating = falsedim endrowhz, shtcount, endrow, endcol as longsheets.addactivesheet.name = "汇总"

Sub 复制() If Application.CountIf(Range("a:a"), "*明天发送*") Then Range("a1:a3").Copy Sheet2.[a1] End Sub

sub test() dim i as integer, myrange as range'指定条件查找的区域,这里的a1:c12替换成你的表格所在的区域 for each myrange in activesheet.range("a1:c12") i = myrange.row '指定条件值所在的行号 if myrange.value = "0" then '指定条件这

col="A" '判断条件所在列,可修改为基本列 j=2 for i=2 to cells(65536,col).end(xlup).row if cells(i,col)>100 then '符合条件 Rows(i).copy sheets("另一个工作表名称").cells(j,"A") '整行复制到另一工作表的A列 j=j+1 end if next

Sub tty() Dim point As Integer Sheet1.Activate point = 1 num = ThisWorkbook.ActiveSheet.Range("D65536").End(xlUp).Row For i = 1 To num If InStr(Cells(i, 4), "-101") > 0 And LCase(Cells(i, 17)) <> "ok" Then Cells(i, 4).EntireRow.Select

选中合并单元格的数值,复制.在选中另一张表要放数值的地方,单击右键,选,选择性粘贴,在选,数值.确定 这样就只粘贴了数值不会粘贴格式,你另一张表的格式不会变 选中这些合并单元格,右键,复制;到另一张工作表,选中同样大小的单元格区域,右键,粘贴.方法很多的.(1)利用高级筛选,将记录筛出来,放在本工作表内,然后复制到别的工作表.这方法相对简单.(2)如果数据量少,可以利用函数.(3)透视表或者VBA编程

以下代码,数据在sheet1的A到D列,表头在第二行取前三个复制到H列Set conn = CreateObject("adodb.connection")conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullNameSql

用个循环套一下:sub 筛选工作表() For i = 1 to 100 If Sheets("选择").Range("A" & i).Value = 1 Then Sheets(i).Copy(目标区域) End If next i End sub 如果你的表名不是1、2、3……那么先将表名建成数组然后再用FOR来循环.

wwgt.net | mcrm.net | zdhh.net | jtlm.net | gmcy.net | 网站首页 | 网站地图
All rights reserved Powered by www.ddng.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com