Des exemples typiques de compétences et de VBA

Créer un classeur

sub xxx()
dim wb as workbook ,sht as worksheet ‘定义对象
set wb=workbook.add 
set sht=wb.worksheet(1)
with sht
.name="woqu"
.range("A1:A7")=array("1,""2","3")
end with
wb.saveas thiswork.path & "\员工花名册.xls"
activeworkbook.close
end sub()

Pour déterminer si vous souhaitez ouvrir le classeur

dim i as integer
for i = 1 to workbooks.count
if workbooks(i).name=“成绩表.xls” then
masbpox“文件已经打开”
exit sub
end if
next
msgbox “文件没打开”
end sub

Déterminer s'il y a un classeur

dim fil as string
fil = thisworkbook.path &“\员工花名册.xls”
if len(dir(fil))>0 then
msgbox"工作簿已存在"
else
msgbox"工作簿已不存在"
end if
’dir返回的是文件的名称,如果是空字符串的话,就是没有的意思

les données d'entrée aux classeurs déjà ouverts

dim wb as string ,xrow as integer ,arr
wb=thisworkbook.path&“\员工花名册.xls”
workbook.open(wb)
with activeworkbook.worksheets(1)
xrow=.range(“A1”).currentregion.rows.count+1'获取表格里的第一条空行号
arr= array(xrow-1,“1”,“2”,“2”)
.cells(xrow,1,resize(1,6)=arr
end with
activeworkbook.close savechanges:=true '关闭工作簿,保存修改

Masquer la feuille de calcul active en dehors de toutes les feuilles

dim sht as worksheet
for each sht in worksheets
if sht.name<>activesheet.name then
sht.visible=xlsheetveryhidden '深度隐藏工作表,不能通过格式菜单显示
end if
next

Lot Nouvelle feuille

dim i as integer ,sht as worksheet
i=2
set sht = worksheet(“成绩表”)
do while sht.cell(i,“C”)<> ""
worksheet.add after:=worksheets(worksheet.count)'在最后面的工作表插入
activesheet.name=sht.cells(i,"C").value
i=i+1
loop

Lot classification des données

dim i as long,bj as string,rng as range
i=2
bj=cells(i,"C").value
do while bj<> ""
set rng=worksheets(bj).range("A65536").end(xlup).offset(1,0)
cells(i,"A").resize(1,7).copy rng '将记录复制到相应的工作表中
i=i+1
bj=cells(i,"C").value
loop

Enregistrer la feuille de calcul à un nouveau classeur

'把哥哥工作表以单独的文件保存在相应文件夹中
application.screenupdating = false  '关闭屏幕更新
dim folder as string
folder = thisworkbook.path &“\班级表”
if len(dir(folder,vbdirectory))=0 then mkdir folder
dim sht as worksheet
for each sht in worksheets
sht.copy
activeworkbook.saveas folder & “\” & sht.name & “.xls”
activeworkbook.close
next
application.screenupdating = true

rapide des données avec plusieurs tables

rows("2:65536").clear
dim sht as  worksheet,xrow as integer ,rng as range
for each sht in worksheets
 if sht.name<>activesheet.name then
 set rng = range("A65536").end(xlup).offset(1,0)
 xrow=sht.range("A1").currentregion.rows.count-1
 	sht.range("A2").resize(xrow,7).copy rng
 	end if
 next
 

classeur multi avec le dossier de collecte de données

Publié 13 articles originaux · louange gagnées 0 · Vues 87

Je suppose que tu aimes

Origine blog.csdn.net/qq_34873913/article/details/104894977
conseillé
Classement