Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Макрос - чтобы переименовать ЛИСТы в книге!!! Добавлено: 03.12.09 13:20  

Автор вопроса:  Юлька | ICQ: 293469303 
можно ли мне сделать макрос для того чтобы переименовать листы в книге. значит на каждом листе есть название таблицы, оно формируется путем ссылки и путем слияния слов. название этой таблицы включает в себя - сначала ее номер, потом название -текст. например Таблица П.8.37 РАСПРЕДЕЛЕНИЕ ПОСТУПЛЕНИЙ ОТ НАЛОГОВ И ПЛАТЕЖЕЙ ПО БЮДЖЕТАМ....
формула по которой формируется это название такая: =СЦЕПИТЬ(ЗАМЕНИТЬ("Таблица П.8.";15;1;Лист1!A10+5);Лист1!A8;'[Экономика сумма вар 1д.xls]Исходные'!$B$2;'[Экономика сумма вар 1д.xls]Исходные'!$B$3).
мне необходимо назвать лист коротко "П.8.37". как бы это сделать))))

спасибо заранее

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #1
Добавлено: 05.12.09 12:44
  1. str = Split("П.8.37 РАСПРЕДЕЛЕНИЕ ПОСТУПЛЕНИЙ ОТ НАЛОГОВ И ПЛАТЕЖЕЙ ПО БЮДЖЕТАМ...", " ", 2)(1)

или вы что-то другое имеете ввиду?
Что содержится в каждой из ячеек, на которые ссылаются формулы. То же самое можно сделать одними формулами! Дэвушка, включайте немного голову, пишите буквально или предлагайте вознаграждение за фриланс)

Ответить

Номер ответа: 2
Автор ответа:
 Юлька



ICQ: 293469303 

Вопросов: 2
Ответов: 12
 Профиль | | #2 Добавлено: 08.12.09 10:50
спасибо напомнили))) включаю и вам тоже советую включить терпение. причем тут сделать формулами??? как мне все листы в книге переименовать? а не выделить начало строки?

Ответить

Номер ответа: 3
Автор ответа:
 Юлька



ICQ: 293469303 

Вопросов: 2
Ответов: 12
 Профиль | | #3 Добавлено: 08.12.09 10:53
могу сформулировать по другому. есть много листов. в каждом есть ячейка, в ней текст, как написать макрос чтоб каждый лист переименовывался автоматом и назывался также как и текст.

Ответить

Номер ответа: 4
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #4
Добавлено: 10.12.09 21:47
Наберусь терпения, спасибо) Если буквально ответить на Ваш вопрос для ячейки A1 (1-й столбец, 1-я строка только на одном листе), то задача решается приведенным кодом, размещенным в модуле кода этого листа:
  1. Option Explicit
  2.  
  3. Private Sub Worksheet_Change(ByVal Target As Range)
  4.     If Target.Row = 1 And Target.Column = 1 Then
  5.         Me.Name = Me.Cells(1, 1).Value
  6.     End If
  7. End Sub

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 10.12.09 21:56
А проще говоря, за имя листа отвечает свойство .Name объекта Worksheet (или Sheet). Приведу несколько примеров, меняющих имя листа:
  1.     ' Переименовываем в "Лист0" разными путями:
  2.     '
  3.     ' Первый по порядку слева направо лист рабочей книги
  4.     Worksheets(1).Name = "Лист0"
  5.     ' Лист рабочей книги с именем "Лист1"
  6.     Worksheets("Лист1").Name = "Лист0"
  7.     ' Активный лист рабочей книги
  8.     ActiveSheet.Name = "Лист0"
  9.     ' Первый лист именно текущей рабочей книги
  10.     ThisWorkbook.Worksheets(1).Name = "Лист0"
  11.     ' Первый лист рабочей книги "Книга1.xls"
  12.     Workbooks("Книга1.xls").Worksheets(1).Name = "Лист0"

Ответить

Номер ответа: 6
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #6
Добавлено: 10.12.09 21:58
Может мне мануал, книжку, по VBA в Excel написать-издать? )))

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам