Excel用宏来调用其它Excel文件的数据,需要定义一个变量。
Excel用宏来调用其它Excel文件的数据,需要定义一个变量。因为这些数据的数量是不确定的,所以我希望能在开始的时候弹个窗让我输入有多少数量的数据。举个例子,我有个Ex...
Excel用宏来调用其它Excel文件的数据,需要定义一个变量。
因为这些数据的数量是不确定的,所以我希望能在开始的时候弹个窗让我输入有多少数量的数据。
举个例子,我有个Excel文件,同过弹窗选择这个文件。
这个文件中有个工作表,名为Voice Quality,我需要的数据是从C5到C5+X单元格。
我需要将这些数据复制到我当前打开的这个Excel中 Sheet2 工作表的B3到B3+X单元格中。
上面的这个X就是让我来输入的变量。
现在已经有如下代码,帮我解决了变量之外的所有问题了。
Sub C5C15_B3B13()
Dim Fo As Object, myName As String
Set Fo = Application.FileDialog(msoFileDialogFilePicker)
Fo.Title = "请选择您要复制C5:C15数据的文件:"
If Fo.Show = True Then myName = Fo.SelectedItems(1)
If myName = "" Then
MsgBox "您取消了文件选择,所以本次处理未完成,将直接退出", vbOKOnly + vbInformation
Exit Sub
End If
Dim wb as Workbook
For Each wb in Workbooks
if wb.Fullname = myName then Goto wbHasOpened
Next
set wb = workbooks.open(myname)
wbHasOpened:
Dim sh as worksheet
For each sh in wb.sheets
if sh.name = "Voice Quality" Then
[b3:B13] = sh.[c5:c15].value
Exit For
end if
Next
Msgbox "处理完成!"
wb.close True
End Sub
求高手帮我解决变量的问题。 展开
因为这些数据的数量是不确定的,所以我希望能在开始的时候弹个窗让我输入有多少数量的数据。
举个例子,我有个Excel文件,同过弹窗选择这个文件。
这个文件中有个工作表,名为Voice Quality,我需要的数据是从C5到C5+X单元格。
我需要将这些数据复制到我当前打开的这个Excel中 Sheet2 工作表的B3到B3+X单元格中。
上面的这个X就是让我来输入的变量。
现在已经有如下代码,帮我解决了变量之外的所有问题了。
Sub C5C15_B3B13()
Dim Fo As Object, myName As String
Set Fo = Application.FileDialog(msoFileDialogFilePicker)
Fo.Title = "请选择您要复制C5:C15数据的文件:"
If Fo.Show = True Then myName = Fo.SelectedItems(1)
If myName = "" Then
MsgBox "您取消了文件选择,所以本次处理未完成,将直接退出", vbOKOnly + vbInformation
Exit Sub
End If
Dim wb as Workbook
For Each wb in Workbooks
if wb.Fullname = myName then Goto wbHasOpened
Next
set wb = workbooks.open(myname)
wbHasOpened:
Dim sh as worksheet
For each sh in wb.sheets
if sh.name = "Voice Quality" Then
[b3:B13] = sh.[c5:c15].value
Exit For
end if
Next
Msgbox "处理完成!"
wb.close True
End Sub
求高手帮我解决变量的问题。 展开
展开全部
Dim sh as worksheet
a =inputbox("请输入行数") '添加一行 定义变量a
For each sh in wb.sheets
if sh.name = "Voice Quality" Then
range("B3:B" & a) = sh.range("C5:C" & a).value
Exit For
end if
Next
Msgbox "处理完成!"
wb.close True
a =inputbox("请输入行数") '添加一行 定义变量a
For each sh in wb.sheets
if sh.name = "Voice Quality" Then
range("B3:B" & a) = sh.range("C5:C" & a).value
Exit For
end if
Next
Msgbox "处理完成!"
wb.close True
更多追问追答
追问
如果我需要是a的十倍呢?
是range("B3:B" & a^10) = sh.range("C5:C" & a^10).value 么
追答
你写的是a 的10次方, 不是a 的10倍,
a的10倍 用 val(a)*10
range("B3:B" & val(a) *10)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询