上一章给大家分享了前面学的数组和Range对象的属性方法,工作薄和工作表的属性的使用进行了综合举例,这一篇文章继续对上一章没有分享的内容继续举例。

在举例子之前先对Dir函数具体说明一下:

Dir函数的作用就是返回一个文件或者文件夹的名称。

语法:

Dir[(pathname[, attributes])]

Pathname:第一个参数表示文件或者文件夹的路径。

Attributes:第二个参数是文件或者文件夹的属性。

vbNormal 默认值,表示指定返回没有任何属性的文件

vbDirectory 表示指定返回没有任何属性的文件和文件夹

当函数中没有第二个参数attributes就是表示返需要返回没有任何属性的文件。

pathname参数指定的文件或文件夹找不到时,Dir函数返回一个0长度的空字符串” ”。

把一个工作薄中的所有工作表拆分成单个的工作薄并保存

excel的VBA中拆分工作薄中,如何实现工作表复制、保存到指定的文件夹?-天天办公网

程序运行的结果:

excel的VBA中拆分工作薄中,如何实现工作表复制、保存到指定的文件夹?-天天办公网

代码1:

Sub ce()

Application.ScreenUpdating = False

Dim f As String

Dim s As Worksheet

f = ThisWorkbook.Path & “\ 今天要新建的目录”

If Len(Dir(f, vbDirector)) = 0 Then

MkDir f

End If

For Each s In Worksheets

s.Copy

ActiveWorkbook.SaveAs f & “\” & s.Name & “.xls”

ActiveWorkbook.Close

Next

Application.ScreenUpdating = True

End Sub

再举个例子:

从20到120数据中随机从里面抽取4个数字a.b.c.d(可以重复),这4个数字计算:a/b * c/d,输出结果需要精确到小数点后6位!

excel的VBA中拆分工作薄中,如何实现工作表复制、保存到指定的文件夹?-天天办公网

代码2:

Sub test1()

Dim arr(1 To 4) As Variant

Dim i As Integer, j As Integer

Dim k As Double

Randomize

For i = 1 To 4

arr(i) = Int((Rnd * 100) + 20)

Next

For j = 1 To 4

Worksheets(“sheet49”).Cells(j, 1) = arr(j)

Next

k = (arr(1) / arr(2)) * (arr(3) / arr(4))

Worksheets(“sheet49”).Range(“A11”).NumberFormatLocal = “0.000000_ “

Worksheets(“sheet49”).Range(“A11”) = k

End Sub

运行结果:

excel的VBA中拆分工作薄中,如何实现工作表复制、保存到指定的文件夹?-天天办公网