Страницы: 1
RSS
Сохранить книгу по имени ячейки
 
Доброго времени суток!
Пожалуйста подскажите код, что бы при закрытии книги ей присваивалось имя ячейки, например A1 Листа1.
Спасибо!
Изменено: radonic - 21.08.2013 15:42:46
 
За прошедший месяц раз пять такой вопрос был. Поиск не пробовали?
Я сам - дурнее всякого примера! ...
 
Ничего не могу найти...
 
Нашел код, меняет имя листа, а мне нужно имя книги ((

Код
Sub Макрос1()
Dim iFileName As String 'имя файла
Dim iPath As String 'путь для сохранения
    iFileName = Range("E5")
    'если ячейка E5 пуста
    If iFileName = "" Then
        MsgBox "Имя файла не указано!", vbExclamation, "Ошибка"
        Exit Sub
    End If
    iPath = "C:\"
    ActiveWorkbook.SaveAs Filename:=iPath & iFileName, FileFormat:=xlExcel9795
End Sub
Изменено: radonic - 21.08.2013 17:39:35
 
И где в этом коде меняется имя ЛИСТА?
 
В коде я мало понимаю, но на практике меняется именно имя листа!
 
Этот макрос должен создать копию (Сохранить КАК) Вашей книги, присвоив ей имя из ячейки Е5. Поищите на диске С
А имя листа можно тоже менять.
 
Вообще мне нравятся модераторы этого проекта, всегда отвечают вопросом на вопрос, по делу за все время не одного ответа не видел. Сколько писал вопросов о помощи, всегда отвечал на них сам. Откуда Вы такие умники взялись ???

P.S. Не забудьте затереть это сообщение !!!  ;)
 
Я Вам ответил, где искать копию книги (19:18:21). По делу - см. тему про цвет ярлычков лист - готовый код. Если "за всё время не увидели" - Вам к окулисту.
 
Юрий, Вы что издеваетесь, какие ярлычки ? почитайте первый пост.
 
Ярлычки - это я реагировал на Вашу фразу, что я никому не помогаю - написал макрос по изменению цвета ярлычков. А ответ на Ваш вопрос в #8. Повторюсь: ищите копию Вашей книги на диске С:
 
А вообще хочу Вам сказать, что СОТНИ людей получили от меня помощь на форуме. В том числе и в виде готовых решений. Так что зря Вы...
 
Цитата
всегда отвечают вопросом на вопрос, по делу за все время не ни одного ответа не видел.
radonic, вот к чему Вы это? Вы воспользовались поиском и нашли(молодец, еще бы первый пункт правил прочли) именно то, чего Вам хотелось. Мы не попугаи давать по сотне раз ответ на один и тот же вопрос, для этого на форуме и существует поиск, пользуйтесь. А уж том, что Вы не понимаете ВБА виноват кто угодно, только не модераторы.
Я сам - дурнее всякого примера! ...
 
не хочу продолжать дискуссию...
 
Делает то что нужно, но только почему то со второго раза, мож кто посмотрит ?

Код
Private Sub Workbook_Open()
sv = Sheets("Лист1").Cells(1, 1)
' Имя листа с ячейкой А1
If Len(sv) = 0 Then Exit Sub
sv = sv & ".xls"
s = ThisWorkbook.Name
If s <> sv Then
s1 = ThisWorkbook.FullName
s2 = ThisWorkbook.Path
s2 = s2 & "/" & sv
ThisWorkbook.SaveAs Filename:=s2
Kill s1
End If
End Sub
 
Знаете, молодой человек.... После ваших слов не очень-то хочется вам помогать.
 
Евгений Мультипликатор, после каких слов ? Если я кого-то обидел вышесказанным прошу меня извинить.
Просто я всегда привык говорить то, что думаю, т.е. правду!
Модераторы сайта, если человек задает вопрос на форуме, значит он ждет на него хотя бы более менее конкретный ответ, а не Ваши заумные вопросы на вопрос и издевательские комменты (и это касается не только этой темы, были и другие). Если вы не знаете чем помочь человеку, то лучше вообще ничего писать не надо, найдутся другие участники форума которые помогут разобраться в данном вопросе. А вы вашими комментами только засоряете ветку, тем самым отбиваете у других участников желание общаться по данной теме. Живой пример: Евгений Мультипликатор.
Если я захочу выучить VBA то сделаю это без вашей помощи конечно. Но мне это пока не нужно, а нужно было лишь поправить малюсенькую строчку в макросе, вместо того что бы устраивать демагогию на всю ветку! Я конечно понимаю, что Вы никому ничего не должны, но все же... . На другом ресурсе я получил конкретный ответ на свой вопрос ровно за три минуты.

Пользуйтесь кому нужно:
Макрос "Имя книги по имени ячейки при закрытии"
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
sv = Sheets("Лист1").Cells(1, 1)
' Имя листа с ячейкой А1
If Len(sv) = 0 Then Exit Sub
sv = sv & ".xls"
S = ThisWorkbook.Name
If S <> sv Then
  s1 = ThisWorkbook.FullName
  s2 = ThisWorkbook.Path
  s2 = s2 & "/" & sv
  ThisWorkbook.SaveAs Filename:=s2
  Kill s1
End If
End Sub


Из другой темы:
Макрос "Экспорт данных в txt"
Код
Sub txt()
On Error Resume Next
Set FSO = CreateObject("scripting.filesystemobject")
Set ts = FSO.CreateTextFile(BaseFolder$ & "Текст.txt", True)
ts.Close
With CreateObject("Scripting.FileSystemObject").OpenTextFile(BaseFolder$ & "Текст.txt", 8)
.writeline Join(Application.Transpose([a1:a25].Value), vbCrLf)
.Close
End With
CreateObject("wscript.shell").Run "explorer.exe /e, """ & BaseFolder$ & "Текст.txt" & """"
End Sub


Всем спасибо за внимание, пока...!
Изменено: radonic - 23.08.2013 11:58:13
 
Код
Если я захочу выучить VBA то сделаю это без вашей помощи конечно. Но мне это пока не нужно
Так чего Вы паритесь? Идите в раздел "Работа" и заказывайте. Тут Вам делать нечего. Здесь помогают осваивать Эксел. А помогать наглым халявщикам - это по желанию. И перечитайте пост №14.
Я сам - дурнее всякого примера! ...
 
Цитата
Просто я всегда привык говорить то, что думаю
Всё правильно, только сначала нужно думать, а ПОТОМ говорить))
 
radonic, научитесь слушать ответы, тогда может и смысл найдете. В посте #4 код именно сохранения Книги, а никак не переименования листа. Это скажет Вам любой, кто хоть немного VBA знает. С чего Вы взяли что он переименовывает лист известно только Вам. В приведенном коде этого точно нет. Сравните код из поста #4 и #15 - найдете много общего. Я на 100% уверен, что:
-либо Вы скачали и пробовали какой-то пример с сайта, где идет переименование листа, а на форуме привели код с переименованием файла;
-либо даже не тестировали приведенный код, а тупо решили что там где-то лист переименовывается.
А виноваты оказались почему-то другие.

Юрий М дал Вам конкретный, вежливый и верный ответ в посте #7, на что Вы сразу ответили наездом на модераторов. То, что модератор не помог именно Вам нисколько не говорит о том, что он никому не помог. Если бы хотя бы потрудились просмотреть форум с ответами Юрия М - увидели бы, что он далеко не одной сотне человек помог готовым кодом. А это значит, что Ваше утверждение ложно и Вы просто ленивый балабол.

Цитата
А вы вашими комментами только засоряете ветку, тем самым отбиваете у других участников желание общаться по данной теме
Отбиваете желание Вам помогать Вы сами своим поведением.

Цитата
Сколько писал вопросов о помощи, всегда отвечал на них сам.
Это вторая Ваша тема. Т.е. под все подразумевается весь один предыдущий. И просите Вы так же не помощи, а сделать Вам. Форумы предназначены изначально для помощи освоить Excel и VBA, а не для написания кода всем тем, кто тупо не хочет этому учиться.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх