① 如何用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
運行示例: