vba復(fù)制多表姓名數(shù)據(jù) excelvba點(diǎn)控件執(zhí)行復(fù)制數(shù)據(jù)到另一工作表?
excelvba點(diǎn)控件執(zhí)行復(fù)制數(shù)據(jù)到另一工作表?【1】xls.[a1]改為xls.range(a1)【2】activesheet,這時(shí)是你新建的sheet,不是你有數(shù)據(jù)的sheet,可以先激活你有數(shù)據(jù)
excelvba點(diǎn)控件執(zhí)行復(fù)制數(shù)據(jù)到另一工作表?
【1】xls.[a1]改為xls.range(a1)
【2】
activesheet,這時(shí)是你新建的sheet,不是你有數(shù)據(jù)的sheet,
可以先激活你有數(shù)據(jù)的sheet,
如:workbooks(你有數(shù)據(jù)的工作表名).worksheets(1).active然后再copy
或者在新建一個(gè)workbook之前,如果有數(shù)據(jù)的workbooks中的sheet是當(dāng)前激活的sheet,則可以先將它賦值給變量。dimasnewworksheet
setasactivesheet
然后再建立新的工作表,copy時(shí)用:
as.range(a2:f20).specialcells(xlcelltypevisible).copyxls.range(a1)
用VBA將一個(gè)工作表中符合條件的數(shù)據(jù)復(fù)制到另一個(gè)工作表中?
給你舉一個(gè)代碼段的例子,如果你會(huì)BASIC,在此基礎(chǔ)由解決你的問(wèn)題就不難了
Dim i, num1
num1 Sheets(計(jì)算).Cells(65536, 1).End(xlUp).Row
計(jì)算 Sheets(計(jì)算) A列最后一行數(shù)據(jù)的位置
For i 1 To num1
If Sheets(計(jì)算).Cells(i, 1)100 Then Sheets(公布表).Cells(i, 1) Sheets(計(jì)算).Cells(i, 1)
Next i
當(dāng) Sheets(計(jì)算)第1列的數(shù)據(jù)大于100時(shí),自動(dòng)拷入 Sheets(公布表) 的相應(yīng)列中
如果你想將Sheets(公布表)中的空格刪除,可以這樣寫
Dim i, num1,k
num1 Sheets(計(jì)算).Cells(65536, 1).End(xlUp).Row
計(jì)算 Sheets(計(jì)算) A列最后一行數(shù)據(jù)的位置
k1
For i 1 To num1
If Sheets(計(jì)算).Cells(i, 1)100 Then
Sheets(公布表).Cells(k, 1) Sheets(計(jì)算).Cells(i, 1)
kk 1
else
kk
endif
Next i