![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
Здравствуйте. Мучаюсь с VBA макросом. Может кто нибудь подскажет другие варианты. Есть ТТН накладная, нужно сохранять в определенную папку по номеру вагона (ячека C5 на листе один) и дате (ячейка D5 на листе один).
Получилось сделать только такой макрос: Sub SaveAsExample() Dim FName As String Dim FPath As String FPath = "C:" FName = Sheets("ТТН").Range("С5").Text ThisWorkbook.SaveAs Filename:=FPath & "\" & FName End Sub но никак не могу изменить путь (( только на диск C: сохраняет. И ячеку вторую не могу захватить. Может все таки есть другие варианты |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Попробуйте так:
Код:
вместо латинской буквы C стояла русская С. Внимание: папка, указанная в FPath, должна существовать - иначе вылетит ошибка. В данном примере можно создать папку так: Код:
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 30.09.2009 в 13:37. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
Sub test2()
MkDir "C:\ТТН" End Sub Sub SaveAsExample() Dim FName As String, FPath As String FPath = "C:\ТТН\" FName = Sheets("ТТН").Range("c5") & " - " & Sheets("ТТН").Range("d5") & ".xls" ThisWorkbook.SaveAs Filename:=FPath & FName - выдает ошибку здесь End Sub что делать? |
![]() |
![]() |
![]() |
#4 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
Ура )) получилось
только теперь можно как нибудь автоматизировать процесс, чтобы другие люди не нажимали alt+f8 ? Sub СоздатьДиректорию() MkDir "C:\ТТН" End Sub Sub СохранитьФайл() Dim FName As String, FPath As String FPath = "C:\ТТН\" FName = Sheets("ТТН").Range("c5") & " - " & Sheets("ТТН").Range("d5") & ".xls" ThisWorkbook.SaveAs Filename:=FPath & FName End Sub |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Keaf.
подобное изменение кода избавит Вас от таких "ошибок" Код:
![]() Удачи Вам. Евгений. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
и снова здравствуйте.
"чтобы другие люди не ..." - разместив на панели инструментов Настраиваемую кнопку из категории Макросы, назначьте ей макрос SaveAsExample. (СохранитьФайл) Евгений. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
Теперь немножко мне другую задачу поставили ((
FName = o.Range("c5") & " - " & o.Range("d5") & ".xls" вместо ячейки d5 (в которой была дата) нужно поставить получателя, а он находится в диапазоне ячеек d6:i6 как быть? |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Keaf измените код процедуры подобным образом:
Код:
SaveAsExample "Получатель" для получателей "находящихся" в диапазоне ячеек таким: Код:
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
Ну вот весь скрипт:
Sub СоздатьКаталог() MkDir "C:\ТТН" End Sub Sub Сохранить(s$) On Error Resume Next Dim FName As String, o As Worksheet Const FPath = "C:\ТТН\" If Len(Dir(FPath, vbDirectory)) = 0 Then 'каталог не существует СоздатьКаталог ' End If Set o = Sheets("ТТН") 'обращение к листу If Not o Is Nothing Then 'лист существует FName = o.Range("c5") & " - " + s + ".xls" ThisWorkbook.SaveAs Filename:=FPath & FName End If End Sub Sub TTT() Dim o As Object For Each o In Range("d6:i6") Сохранить o.Text Next End Sub теперь происходить следующее: файл созраняется до бесконечности и просит заменить его ![]() FName = o.Range("c5") & " - " + s + ".xls" - вот здесь вроде бы нормально, но текст берется только с ячеки C5, а после "-" ничего, хотя должно быть так: текст из C5 потом "-" и текст из объединенных ячеек d6:i6 Как сделать не могу понять (( |
![]() |
![]() |
![]() |
#10 |
Регистрация: 30.09.2009
Сообщений: 8
|
![]()
кстати, диапазон ячеек d6:i6 содержит данные типа:
ООО "Организация" по моему косяк именно в этом (( Последний раз редактировалось Keaf; 02.10.2009 в 11:21. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
зависание excel при постоянном обращении к ячейке | iamaxl | Microsoft Office Excel | 1 | 07.07.2009 18:02 |
Скопировать по одной ячейке из нескольких файлов в один | Nimo | Microsoft Office Excel | 2 | 09.08.2008 09:25 |
Как обратиться к ячейке файла Excel не открывая его | Alexandro | Microsoft Office Excel | 3 | 28.05.2008 12:02 |
Печать pdf файлов из списка файлов в Excel | АПС | Microsoft Office Excel | 5 | 15.04.2008 16:04 |
Как в ячейке Excel сделать надстрочный шрифт? | Sony | Общие вопросы Delphi | 2 | 26.07.2007 01:59 |