返回目录:excel表格制作
这个要用正则对象的,匹配如下模式即可:
[一二三四五六七八九十]+班
试试:
Sub 插入图片复500倍()
Dim strX As String
Dim strY As String
Dim FileName As String
strX = "F:\验收报制告\报告备份\5月14日\500\500\"
For I = 1 To Worksheets.Count - 2
strY = Worksheets(I).Cells(8, 6)
FileName = Dir(strX & "*" & strY & "*")
If FileName = "" Then
Sheets(I).Image2.Picture = LoadPicture
MsgBox "找不到百铸件号度:" & strY & "500倍图片"
Exit Sub
Else
Sheets(I).Image2.Picture = LoadPicture(FileName)
End If
Next
End Sub
你这百个过程很容易看出问题来呀,你最开始定义了一个变量dim j 并且度 j=0 那么 worksheets("第二部分").cells(j,9) 肯定报错,因为工内作表当中的单元格最小的行数是容1,不是0
所以你至少应该把j=1而不是j=0
Sub 整理宏()
Dim mypath, myname, awbname
Dim wb As Workbook, wbn As String
Dim g As Long
Dim num As Long
Dim box As String
Application.ScreenUpdating = False
mypath = ActiveWorkbook.Path
myname = Dir(mypath & "\" & "*.xls")
awbname = ActiveWorkbook.Name
num = 0
Do While myname <> ""
If myname <> awbname Then
Set wb = Workbooks.Open(mypath & "\" & myname)
num = num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("a65536").End(xlUp).Row + 2, 1) = Left(myname, Len(myname) - 4)
For g = 1 To Sheets.Count
wb.Sheets(g).UsedRange.Copy .Cells(.Range("a65536").End(xlUp).Row + 1, 1)
Next
wbn = wbn & Chr(13) & wb.Name
wb.Close False
End With
End If
myname = Dir
Loop
Range("a1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & num & "个工作薄下的全部工作表。e69da5e887aae799bee5baa6e79fa5e98193361如下:" & Chr(13) & wbn, vbInformation, "提示"
End Sub