Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2010, 12:42   #1
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию Как мне справится с кавычками в коде?

Здравствуйте! Пытаюсь написать код, записываю через запись макроса, потом меняю данные на нужные мне. Пишу
Код:
a = ActiveSheet.Name
Добавляю а туда, где четко прописано наименование листа. Excel говорит, что не правильно.
Смотрю в Watches - выдает название листа с кавычками.
Как эти кавычки убрать?
kipish_lp вне форума Ответить с цитированием
Старый 27.04.2010, 12:50   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Код:
a = ActiveSheet.Name
Здесь переменная a - строковая, т.е. Dim a As String. Если нужно непосредственно присвоить значение такой переменной, то нужно так:
Код:
a = "MySheet"
Цитата:
Добавляю а туда, где четко прописано наименование листа. Excel говорит, что не правильно.
Куда "туда"? Приведите пример строки, на которую "ругается" Excel. Еще лучше - скажите, что Вы хотите сделать.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 27.04.2010, 13:03   #3
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Создаю "Имя" для каждого листа с формулой. Надо "Май" поменять на имя активного листа.
Код:
    ActiveWorkbook.Names.Add Name:="Переделы2", RefersToR1C1:= _
        "=OFFSET(Аналитика!R1C4,MATCH(Май!RC3,Аналитика!C4,0)-1,1,COUNTIF(Аналитика!C4,Май!RC3),1)"
kipish_lp вне форума Ответить с цитированием
Старый 27.04.2010, 13:12   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть, например, требуется поменять имя листа "Май" на имя, которое содержится в ячейке "A1" активного листа.
Код:
Dim a As String
a = [A1]
Sheets("Май").Name = a
Переменная a может содержать что угодно (например, результат расчета какой-нибудь формулы). Если требуется, то перед переименованием проверьте, существует ли такой лист.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 27.04.2010, 13:23   #5
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Хорошо, я так сделаю, а когда наименование открытой книги надо внести без кавычек? Например, когда сводная таблица формируется на основе данных уже существующей. Просто записаны макросы один за другим, и во втором конкретно прописано название книги. А если я буду этими макросами создавать в других книгах, на втором макросе выдаст ошибку, что не та книга.
kipish_lp вне форума Ответить с цитированием
Старый 27.04.2010, 13:26   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ничего не понял. Давайте пример файла (файлов) с описанием того, что требуется сделать и мы все решим.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 27.04.2010, 14:15   #7
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Пример на листе 4. Вторая сводная создана на основе данных первой. Надо чтобы я этот макрос могла запустить из книги с любым названием. Оба макроса будут выполняться в этой последовательности.
Вложения
Тип файла: rar Данные.rar (8.3 Кб, 9 просмотров)
kipish_lp вне форума Ответить с цитированием
Старый 27.04.2010, 20:14   #8
kipish_lp
Форумчанин
 
Регистрация: 25.11.2009
Сообщений: 113
По умолчанию

Я приношу свои извинения, просто когда макрос записывается, он четко прописывает книгу, в которой пишется, и я думала, что его нужно изменить. Как оказалось, если удалить название книги, то макрос ссылается на данные активной книги. Прошу ногами сильно не пинать, я пока еще копипастер
SAS888, за ответы спасибо - помогло.
kipish_lp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отыскать Таймер в Коде HellMercenariess Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 19.10.2009 15:44
пОМОГИТЕ СПРАВИТСЯ СО СВОДНЫМИ ТАБЛИЦАМИ лузер81 Microsoft Office Excel 1 12.04.2009 12:04
Не могу справится в Паскале с сортировкой!!! Irin@ Помощь студентам 4 18.03.2009 20:02
Не могу справится с сводной таблицей в Excel prikolist Microsoft Office Excel 4 29.11.2008 01:51