VBA DIR
excel吧
全部回复
仅看楼主
level 8
团一团 楼主
只有前面型号部分如何复制文件到另一个文件夹呢,谢谢
2022年11月25日 02点11分 1
level 10
猜你的意思是批量转移文件到指定文件夹。
2022年11月25日 09点11分 2
level 8
团一团 楼主
是的,只是不是完整的名称后缀,不知道可不可以
2022年11月25日 10点11分 3
level 11
split()(0),然后判断instr()=1就可以了。
源文件、目标文件的目录是确定的还是动态的,好像条件还是差了一点。
2022年11月25日 11点11分 4
都是动态的
2022年11月28日 06点11分
重新上传了图片,帮忙看看,回复好像不能发图片
2022年11月28日 06点11分
level 10
这是vba干的活
2022年11月25日 12点11分 5
level 8
团一团 楼主
2022年11月28日 06点11分 6
level 11
Option Explicit
Const STRLEN As Long = 22 '定长,后面这个图好像也没发现有空格
Sub abc()
 Dim pth, i, a, f, d
 pth = Split("源文件,结果", ",") '源文件、目标文件目录
 For i = 0 To UBound(pth)
  pth(i) = ThisWorkbook.Path & "\" & pth(i) & "\"
  If Dir(pth(i), vbDirectory) = vbNullString Then MsgBox pth(i): Exit Sub
 Next
 a = [a1].CurrentRegion.Offset(1).Resize(, 1).Value
 Set d = CreateObject("scripting.dictionary")
 For i = 1 To UBound(a) - 1
  If Len(a(i, 1)) > STRLEN Then d(Left(a(i, 1), STRLEN)) = 1
 Next
 f = Dir(pth(0) & "*.*")
 Do While Len(f) > STRLEN
  If d.exists(Left(f, STRLEN)) Then FileCopy pth(0) & f, pth(1) & f
  f = Dir
 Loop
End Sub
2022年11月28日 11点11分 7
感谢
2022年11月29日 03点11分
1