EXCEL VBA怎样将复制 wb的sheet1除第一行的所有内容复制操作,选择性粘贴为值或数字格式?怎样写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EXCEL VBA怎样将复制 wb的sheet1除第一行的所有内容复制操作,选择性粘贴为值或数字格式?怎样写?相关的知识,希望对你有一定的参考价值。

Sub HuiZong()
Dim myfile, mypath, wb '声明变量
Application.ScreenUpdating = False '关闭屏幕更新
Sheet1.UsedRange.Offset(1, 0).Clear '清除除表头之外的所有内容
mypath = ThisWorkbook.Path '找到当前工作簿的路径
myfile = Dir(mypath & "\*.xls*") '遍历当前文件夹下的Excel文件
Do While myfile <> "" '当找到的文件不为空时
If myfile <> ThisWorkbook.Name Then '当找到的文件不是当前Excel工作簿时
Set wb = GetObject(mypath & "\" & myfile) '得到dir找到的工作簿的内容,设为wb
With wb.Worksheets("统计表") '对找到的工作簿的sheet1进行操作
.UsedRange.Offset(0, 0).Copy Sheet1.Range("A" & Sheet1.UsedRange.Rows.Count) '复制wb的sheet1除第一行的所有内容
End With
wb.Close False '关闭wb工作簿且不保存
End If
myfile = Dir '寻找下一个Excel工作簿
Loop
Application.ScreenUpdating = True '恢复屏幕更新
End Sub

参考技术A 麻烦,写这么多,懒得看,就一句:
wb.sheet2.range("A1:Z1000").value=wb.sheet1.range("A1:Z1000").value
sheet1复制到sheet2搞定,只有值,不带格式。追问

Sub HuiZong()
。。。。。‘之前的代码

wb.Sheets("统计表").Range("A1:D1000").Value = wb.Sheet1.Range("A1:D1000").Value
End With
。。。。。’之前的代码

好啊大神,我把你的公式加到里面,运行后显示“对象不支持改属性或方法”。
请再帮我看看吧,我是VBA菜鸟

追答

wb要定义。wb.Sheets("统计表").Range("A1:D1000").Value = wb.Sheet1.Range("A1:D1000").Value
要改成
wb.Sheets("统计表").Range("A1:D1000").Value = wb.Sheets(1).Range("A1:D1000").Value

参考技术B 用range对象的pastespecial方法,可以选择粘贴格式,值和数字格式的常量是xlpastevaluesandnumberformats:
usedrange.copy

sheet1.range("a"&......).pastespecial xlpastevaluesandnumberformats

利用vba怎样编写将工作表中第三行到最后一行(不确定)的数据复制并插入到另一个工作表的第二行前?

插入表中的原第二行数据下移到表尾

原则上VBA可以做到,但是你没有说清楚什么才叫做新的,只看日期吗,只看序号吗,我就假设你的A列是序号,用序号判断吧,程序代码如下:

参考技术A

将工作表中1第三行到最后一行(不确定)的数据复制并插入到工作表2的第二行前,VBA代码为:

Sub x()
    Sheets(1).Range("3:" & Sheets(1).UsedRange.Rows.Count).Copy
    Sheets(2).Range("2:2").Insert
End Sub

参考技术B Sub 插入复制()
   X = Range("a65536").End(xlUp).Row
       Rows("3:" & X).Select
    Selection.Copy
    Sheets("Sheet2").Select
    Rows("2:2").Select
    Selection.Insert Shift:=xlDown
End Sub

复制到Sheet1表

将Sheet1 第3行开始的数据插入到Sheet2第2行

以上是关于EXCEL VBA怎样将复制 wb的sheet1除第一行的所有内容复制操作,选择性粘贴为值或数字格式?怎样写?的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA 复制

捉急求助:vba打开spreadsheet

如何用VBA把一个工作簿中的工作表内容复制到另一个汇总工作簿里面的指定的工作表里面去?

excel如何用vba批量提取指定工作表?

如何将行从一个 Excel 工作表复制到另一个工作表并使用 VBA 创建重复项?

Excel VBA:复制/粘贴范围