乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 关于<em>excel</em>,vba. 用vba复制某个工作表并另存为另一...-excel

关于<em>excel</em>,vba. 用vba复制某个工作表并另存为另一...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


代码copy如下,根据需要更改工作表名称:
Private Sub CommandButton1_Click()
Dim arr
lastrow = Sheet2.Cells(Rows.Count, 3).End(xlUp).Row
arr = Sheet2.Range("a7:h" & lastrow)
lrow1 = Sheet4.Cells(Rows.Count, 3).End(xlUp).Row + 1
lrow2 = Sheet5.Cells(Rows.Count, 3).End(xlUp).Row + 1
Sheet4.Range("a" & lrow1).Resize(UBound(arr), UBound(arr, 2)) = arr
Sheet5.Range("a" & lrow2).Resize(UBound(arr), UBound(arr, 2)) = arr
End Sub

1 .如果使用工作簿的 SaveAs 方法以 Excel 5.0/95 文件格式保存包含 Visual Basic for Applications (VBA) 项目的工作簿,则"Microsoft Excel"对话框具有的默认响应为"是";如果将 DisplayAlerts 属性设置为 False,则 Excel 选择的响应为"取消"。
看一下你默认的储存格式是不是变了,所以会出现以前正常现在不正常的情况。
2.sheet6.copy 这一句只有拷贝却没有目标,所以这一句没有作用。
3.activeworkbook.saveas mypath & myfile, fileformat=xlexcel少了个冒号应该是
activeworkbook.saveas mypath & myfile, fileformat:=xlexcel
4.VBA.MkDir (ThisWorkbook.Path & "/4px")这里的斜杆应该是反了。应该是VBA.MkDir (ThisWorkbook.Path & "\4px")不过我发现VBA真的不严谨,正反好像没有什么影响,那就无所谓了。

VBA使用工作表的Copy方法复制,用After或者Before指定复制到的位置,否则复制到新工作簿。

例如:

WorkBooks("文件一.xlsx").Sheets("表一").Copy After:=WorkBooks("文件二.xlsx").Sheets("表2")

扩展zd资料:

VBA的常用内置函数:

MsgBox

InputBox

舍入函数:Fix 向0取整,Int向下取整, Round四舍五入

Rnd: 返回0-1内的单精度随机数

Filter:对字符串的一维数组的过滤

InStr([Start, ]<Str1>,<Str2>[, Compare])与InStrRev: 查找子串

Len:字符串长度

Join:连接一维数组中的所有子字符串

Left,Right,Mid: 截取子字符串

Space(数值) :生成空格字符串

Ucase,Lcase:大小写转换函数

Ltrim, Rtrim,Trim :删除首尾空格

参考资料来源:答言)">百度百科-VBA (Visual Basic宏语言)



答:将活动工作表复10次。

Sub Demo()
    Set sht = ActiveSheet
    For i = 1 To 10
       sht.Copy after:=Sheets(Sheets.Count)
    Next
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网