Sub Кнопка_Щелкнуть()
fname = Application.GetOpenFilename("All files (*.xls), *.xls")
If fname = False Then Exit Sub
Workbooks.Open fname
'Цикл по извлечению чистого имени файла, без указания пути
t = 1
Do While t <> 0
i = t + 1
t = InStr(i, fname, "\", 1)
Loop
fname = Right(fname, (Len(fname) - i + 1))
'Тут копируешь нужные тебе данные, можешь записать макрос руками и просто вставить его сюда,
'исправив имя книги из которой копируешь на fname
Workbooks(fname).Close (False)
End Sub
lolBagathur писал(а):
- Код: Выделить всё
...
'Цикл по извлечению чистого имени файла, без указания пути
t = 1
Do While t <> 0
i = t + 1
t = InStr(i, fname, "", 1)
Loop
fname = Right(fname, (Len(fname) - i + 1))
Про InStrRev знаешь?
fname = Right(fname, (Len(fname) - InStrRev(fname, "\", Len(fname))))
Bagathur писал(а):Вместо 6 строчек "цикла по извлечению чистого пути файла"
можно поставить одну строку -
- Код: Выделить всё
fname = Right(fname, (Len(fname) - InStrRev(fname, "", Len(fname))))
fname = Dir(fname)
Bagathur писал(а):...Я устал из всего вылавливать мой мега-цикл...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 67