① 如何用VBA实现在多个sheet中进行模糊查询,并将包含关键字的一整行复制至指定位置
SubMySearch()
Dimws(6)AsWorksheet
Dimc1AsRange,c2AsRange
Dimr
Setws(1)=Worksheets("Sheet1") '请自行修改为实际的工作表名
Setws(2)=Worksheets("Sheet2") '请自行修改为实际的工作表名
Setws(3)=Worksheets("Sheet3") '请自行修改为实际的工作表名
Setws(4)=Worksheets("Sheet4") '请自行修改为实际的工作表名
Setws(5)=Worksheets("Sheet5") '请自行修改为实际的工作表名
Setws(6)=Worksheets("Sheet6") '请自行修改为实际的工作表名
ws(6).Cells.Clear
Setc2=ws(6).Range("A1")
Forr=1To1000 '由于未说明Sheet5中A列关键字的行数,且其中有空行,请自行修改为实际的行数
Setc1=ws(5).Range("A"&r)
Ifc1Like"1*"Then
ws(3).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1Like"05*"Then
ws(1).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1Like"0*"Then
ws(2).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
ElseIfc1<>""Then
ws(4).Cells.Find(c1,lookat:=xlWhole).EntireRow.CopyDestination:=c2
EndIf
Setc2=c2.Offset(1,0)
Nextr
EndSub
② 用EXCEL VBA获取指定目录下的文件名(包括文件夹名)
1、首先利用快捷键“Windows键+R”打开“运行”窗口
③ Excel中VBA提取文件夹名称的方法
文章介绍excel中使用vba提取文件名的操作步骤。根据需要自行修改vba提取文件名的路径和存放单元格即可。
在excel中使用VBA编写代码,可以轻松的提取某个文件夹下面的所有文件名。
比如笔者在F盘下面建立了一个文件夹,文件夹的名称是:office教程网,现在想将“office教程网”这个文件夹下面的所有文件名提取出来放在当前工作表的C列。
具体的vba提取文件名的操作如下:
1.按下ALT+F11,打开VBE编辑器。
2.执行“插入——模块”,插入模块1。
3.在右边的代码编辑窗口,复制下面的代码,然后单击“绿色箭头”或者快捷键F5键,运行代码。
Private Sub vba提取文件名()
Dim FileName As String
Dim i As Long
FileName = Dir("F:\office教程网\*.*")
i = 0
Range("C:C").ClearContents
Do While FileName > ""
i = i + 1
Cells(i, 3) = FileName
FileName = Dir
Loop
End Sub
4.关闭VBE窗口,回到工作表中,可以在C列看到F盘“office教程网”文件夹下面所有的文件名全部罗列在C列了。
关于上面的vba提取文件名的代码,请在实际使用时,根据需要修改提取文件名的路径(F:\office教程网\*.*),以及存放在C列的位置(Cells(i, 3))。
④ 求助,用vba实现自动批量复制并修改保存文件
代码在文件模块里,或把以下代码粘到模块里
Sub 写入数据()
wbpath = ThisWorkbook.Path & ""
模板文件地址 = wbpath & "模板文件" & ""
到文件夹 = wbpath & "生成表格复制到该文件夹" & ""
my_file = Dir(模板文件地址)
Do While my_file <> ""
Workbooks.Open Filename:=模板文件地址 & my_file
With ThisWorkbook
data_row = .ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To data_row
If Val(.ActiveSheet.Cells(i, 4)) = Val(Split(ActiveWorkbook.Name, ".")(0)) Then
ActiveWorkbook.ActiveSheet.Range("F2") = .ActiveSheet.Cells(i, 3).Value
ActiveWorkbook.SaveAs Filename:=到文件夹 & .ActiveSheet.Range("B" & i) & ".xlsx"
ActiveWorkbook.Close False
End If
Next i
End With
my_file = Dir
Loop
End Sub
⑤ 如何运用VBA将指定路径下的某一文件复制到另一指定路径下
1、首先打开工作表,点击【开发工具】下的【Visual Basic 】选项。
⑥ 如何利用vba代码批量提取文件名及修改日期到Excel表
程序代抄码:
OptionExplicit
SubYgB()
Dimp,i,fn
i=1
p="d:doc"
fn=Dir(p&"*.*")
Whilefn<>""
Cells(i,1)=fn
Cells(i,2)=FileDateTime(p&fn)
i=i+1
fn=Dir
Wend
EndSub
运行示例: