
Excel VBA小程序
本人有一个ExcelVBA的小程序,是对一个股市成交明细下载后的Excel表格进行计算,但不想一个个打开再进行运算,想一次用程序来逐个自动运算,要求开始用打开文件对话框后...
本人有一个Excel VBA的小程序,是对一个股市成交明细下载后的Excel表格进行计算,但不想一个个打开再进行运算,想一次用程序来逐个自动运算,要求开始用打开文件对话框后点选运算的表格后选择后就以循环形式对每个表格用我的VBA小程序来计算。
因每天下载的同股票名的成交明细是同名的, 要求运算的表格后文件名要求加上" _当天日期(年月日)",因为下载时是Excel2003格式文件,所同时转回Excel2007格式文件。
若干股票的成交明细是下载到同一文件夹的。
下面的程序中请问改那些就行:
Sub 表格计算 ()
Application.DisplayAlerts = False
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
If .Show = -1 Then
Dim vrtSelectedItem As Variant
For Each vrtSelectedItem In .SelectedItems
If Workbooks.Open(vrtSelectedItem).FileFormat = xlNormal Then
Workbooks.Open(vrtSelectedItem).SaveAs FileFormat:=xlWorkbookDefault
End If
Next vrtSelectedItem
End If
End With
Set fd = Nothing
Workbooks.Close
End Sub
下面是我的表格计算程序
sub stock_run()
。。。
。。。
。。。
End Sub 展开
因每天下载的同股票名的成交明细是同名的, 要求运算的表格后文件名要求加上" _当天日期(年月日)",因为下载时是Excel2003格式文件,所同时转回Excel2007格式文件。
若干股票的成交明细是下载到同一文件夹的。
下面的程序中请问改那些就行:
Sub 表格计算 ()
Application.DisplayAlerts = False
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
If .Show = -1 Then
Dim vrtSelectedItem As Variant
For Each vrtSelectedItem In .SelectedItems
If Workbooks.Open(vrtSelectedItem).FileFormat = xlNormal Then
Workbooks.Open(vrtSelectedItem).SaveAs FileFormat:=xlWorkbookDefault
End If
Next vrtSelectedItem
End If
End With
Set fd = Nothing
Workbooks.Close
End Sub
下面是我的表格计算程序
sub stock_run()
。。。
。。。
。。。
End Sub 展开
4个回答
展开全部
Sub 表格计算()
Application.DisplayAlerts = False
Dim fd As FileDialog
Dim wb As Workbook
With Application.FileDialog(msoFileDialogFilePicker)
If .Show = -1 Then
Dim vrtSelectedItem As Variant
For Each vrtSelectedItem In .SelectedItems
Set wb = Workbooks.Open(vrtSelectedItem)
Call stock_run
If wb.FileFormat = 56 Then
newname = Replace(vrtSelectedItem, ".xls", "-" & Format(Date, "yyyy.mm.dd") & ".xlsx")
wb.SaveAs Filename:=newname, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Else
newname = Replace(vrtSelectedItem, ".xlsx", "-" & Format(Date, "yyyy.mm.dd") & ".xlsx")
wb.SaveAs Filename:=newname
End If
ActiveWorkbook.Close True
Next vrtSelectedItem
End If
End With
Set wb = Nothing
Application.DisplayAlerts = True
End Sub
更多追问追答
追问
按你的程序来做,不知因何事,在运行时表格自动在第一行后加了两个空行,结果后面的软件运行起始位也要由第六行开始运算,原来的是第四行开始运算的,但不能更改文件名和转换成2007格式,不知是否我只是在于2007板运行不行,一定要在于2010板才可以?
按你的程序来做,不知因何事,在运行时表格自动在第一行后加了两个空行,结果后面的软件运行起始位也要由第六行开始运算,原来的是第四行开始运算的,但不能更改文件名和转换成2007格式,不知是否我只是在于2007板运行不行,一定要在于2010板才可以?
展开全部
按题号啊,题号唯一就可以了。查到题号之后按照题号的坐标offset就可以了
追问
我要的是代码。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你很厉害的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把表与目的要求发我邮箱,最好举例说一下,以便理解你的意图。mfk1288@126.com
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询