Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Что в этом макросе сделано неправильно - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Что в этом макросе сделано неправильно
Юзер Дата: Среда, 25.04.2012, 15:00 | Сообщение № 1
Группа: Гости
Вопрос к опытным перцам.
Что в этом макросе сделано неправильно. В одном файле работает, а в другом спотыквается на следующих выражениях : вот на этом CmbPerformer.Text и на этом TextPerformer.Text , и на этом TextBoxDate. Text..
То есть, отказывается переносить текстовые значения из формы в колонтитул. Одно из которых является датой, вносимой в TextBoxDate из календаря,

Sub Тест ( )
If Sheets("отчет").Activate Then
ActiveSheet.PageSetup.LeftFooter = "&""Arial Narrow,курсив""&10" + "Расчет выполнил, " & " " & CmbPerformer.Text & "____________" & TextPerformer.Text
ActiveSheet.PageSetup.RightFooter = "&""Arial Narrow,курсив""&10" + "Дата складання: " & " " & TextBoxDate. Text + [" р."]
End If
Unload Me
End Sub

Спасибо
 
Ответить
СообщениеВопрос к опытным перцам.
Что в этом макросе сделано неправильно. В одном файле работает, а в другом спотыквается на следующих выражениях : вот на этом CmbPerformer.Text и на этом TextPerformer.Text , и на этом TextBoxDate. Text..
То есть, отказывается переносить текстовые значения из формы в колонтитул. Одно из которых является датой, вносимой в TextBoxDate из календаря,

Sub Тест ( )
If Sheets("отчет").Activate Then
ActiveSheet.PageSetup.LeftFooter = "&""Arial Narrow,курсив""&10" + "Расчет выполнил, " & " " & CmbPerformer.Text & "____________" & TextPerformer.Text
ActiveSheet.PageSetup.RightFooter = "&""Arial Narrow,курсив""&10" + "Дата складання: " & " " & TextBoxDate. Text + [" р."]
End If
Unload Me
End Sub

Спасибо

Автор - Юзер
Дата добавления - 25.04.2012 в 15:00
shanemac51 Дата: Среда, 25.04.2012, 15:16 | Сообщение № 2
Группа: Проверенные
Ранг: Новичок
Сообщений: 33
Репутация: 4 ±
Замечаний: 0% ±

замени знай плюс на сцепление
 
Ответить
Сообщениезамени знай плюс на сцепление

Автор - shanemac51
Дата добавления - 25.04.2012 в 15:16
Юзер Дата: Среда, 25.04.2012, 16:13 | Сообщение № 3
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 3
Репутация: ±
Замечаний: 0% ±

заменил и все равно не работает. Тормозит вот на этой строке ActiveSheet.PageSetup.LeftFooter = "&""Arial Narrow,курсив""&10" & "Расчет выполнил, " & " " & CmbPerformer.Text & "____________" & TextPerformer.Text . Красит ее в желтый цвет и выбрасывает предупреждение об ошибке.
Что можно сделать еще?
 
Ответить
Сообщениезаменил и все равно не работает. Тормозит вот на этой строке ActiveSheet.PageSetup.LeftFooter = "&""Arial Narrow,курсив""&10" & "Расчет выполнил, " & " " & CmbPerformer.Text & "____________" & TextPerformer.Text . Красит ее в желтый цвет и выбрасывает предупреждение об ошибке.
Что можно сделать еще?

Автор - Юзер
Дата добавления - 25.04.2012 в 16:13
Alex_ST Дата: Четверг, 26.04.2012, 09:52 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Юзер,
без Вашего примера понять что не правильно невозможно.
Ну откуда можно узнать, какие значения имеют CmbPerformer.Text и TextPerformer.Text? И где находятся эти элементы управления? На форме или на листе?
Вы пишете:
Quote (Юзер)
В одном файле работает, а в другом спотыквается на следующих выражениях : вот на этом CmbPerformer.Text и на этом TextPerformer.Text , и на этом TextBoxDate. Text
Так может быть "в другом файле" просто невозможно считать эти значения?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЮзер,
без Вашего примера понять что не правильно невозможно.
Ну откуда можно узнать, какие значения имеют CmbPerformer.Text и TextPerformer.Text? И где находятся эти элементы управления? На форме или на листе?
Вы пишете:
Quote (Юзер)
В одном файле работает, а в другом спотыквается на следующих выражениях : вот на этом CmbPerformer.Text и на этом TextPerformer.Text , и на этом TextBoxDate. Text
Так может быть "в другом файле" просто невозможно считать эти значения?

Автор - Alex_ST
Дата добавления - 26.04.2012 в 09:52
Юзер Дата: Четверг, 26.04.2012, 10:12 | Сообщение № 5
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 3
Репутация: ±
Замечаний: 0% ±

Alex_ST, доброго вам дня!
Элементы управлени я находятся на форме. В комбобоксе и первом техтбоксе, находятся - текстовые значения, которые берутся из списка на другом листе книги, во виором текстбоксе - дата, которая берется из календаря. Пробовал установить в этом текстбоксе формат даты, все равно не переносится.
Рабочий файл выслать не могу, потому что очень уж большой. Да и начальник будет ругать, за нарущение конфеденциальности, если узнает. А в примере, макрос работает, поэтому, как мне кажется, нет смысла его высылать.
 
Ответить
СообщениеAlex_ST, доброго вам дня!
Элементы управлени я находятся на форме. В комбобоксе и первом техтбоксе, находятся - текстовые значения, которые берутся из списка на другом листе книги, во виором текстбоксе - дата, которая берется из календаря. Пробовал установить в этом текстбоксе формат даты, все равно не переносится.
Рабочий файл выслать не могу, потому что очень уж большой. Да и начальник будет ругать, за нарущение конфеденциальности, если узнает. А в примере, макрос работает, поэтому, как мне кажется, нет смысла его высылать.

Автор - Юзер
Дата добавления - 26.04.2012 в 10:12
Alex_ST Дата: Четверг, 26.04.2012, 10:39 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Юзер,
скорее всего Вы наврали либо с кавычками при конкатенации стрингов (сцеплении строки из подстрок), либо при считывании данных из элементов управления.
И ещё: Sheets("отчет").Activate - это МЕТОД, а не СВОЙСТВО.
Поэтому запись If Sheets("отчет").Activate Then… не корректна.
Я бы заменил её на If ActiveSheet.Name = "отчет" Then…
Ну и на всякий случай чтобы проще было найти, где ошибка, сначала считал бы значения элементов управления в строковые переменные, а потом бы уж их объединял.
Ну, примерно так:[vba]
Code
Sub Тест2()
     Dim sCmbPerformer$, sTextPerformer$, sTextBoxDate$
     sCmbPerformer = Me.CmbPerformer.Text
     sTextPerformer = Me.TextPerformer.Text
     sTextBoxDate = Me.TextBoxDate.Text
     'If Sheets("отчет").Activate Then
     If ActiveSheet.Name = "отчет" Then
        ActiveSheet.PageSetup.LeftFooter = "Расчет выполнил,  " & sCmbPerformer & "____________" & sTextPerformer
        ActiveSheet.PageSetup.RightFooter = "Дата складання:  " & sTextBoxDate & "[ р.]"
     End If
     Unload Me
End Sub
[/vba]Если пройдёт, то потом можно будет конкатенацию делать без промежуточных переменных:[vba]
Code
Sub Тест3()
     If ActiveSheet.Name = "отчет" Then
        ActiveSheet.PageSetup.LeftFooter = "Расчет выполнил,  " & CmbPerformer.Text & "____________" & TextPerformer.Text
        ActiveSheet.PageSetup.RightFooter = "Дата складання:  " & TextBoxDate.Text + "[ р.]"
     End If
     Unload Me
End Sub
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 26.04.2012, 16:19
 
Ответить
СообщениеЮзер,
скорее всего Вы наврали либо с кавычками при конкатенации стрингов (сцеплении строки из подстрок), либо при считывании данных из элементов управления.
И ещё: Sheets("отчет").Activate - это МЕТОД, а не СВОЙСТВО.
Поэтому запись If Sheets("отчет").Activate Then… не корректна.
Я бы заменил её на If ActiveSheet.Name = "отчет" Then…
Ну и на всякий случай чтобы проще было найти, где ошибка, сначала считал бы значения элементов управления в строковые переменные, а потом бы уж их объединял.
Ну, примерно так:[vba]
Code
Sub Тест2()
     Dim sCmbPerformer$, sTextPerformer$, sTextBoxDate$
     sCmbPerformer = Me.CmbPerformer.Text
     sTextPerformer = Me.TextPerformer.Text
     sTextBoxDate = Me.TextBoxDate.Text
     'If Sheets("отчет").Activate Then
     If ActiveSheet.Name = "отчет" Then
        ActiveSheet.PageSetup.LeftFooter = "Расчет выполнил,  " & sCmbPerformer & "____________" & sTextPerformer
        ActiveSheet.PageSetup.RightFooter = "Дата складання:  " & sTextBoxDate & "[ р.]"
     End If
     Unload Me
End Sub
[/vba]Если пройдёт, то потом можно будет конкатенацию делать без промежуточных переменных:[vba]
Code
Sub Тест3()
     If ActiveSheet.Name = "отчет" Then
        ActiveSheet.PageSetup.LeftFooter = "Расчет выполнил,  " & CmbPerformer.Text & "____________" & TextPerformer.Text
        ActiveSheet.PageSetup.RightFooter = "Дата складання:  " & TextBoxDate.Text + "[ р.]"
     End If
     Unload Me
End Sub
[/vba]

Автор - Alex_ST
Дата добавления - 26.04.2012 в 10:39
Юзер Дата: Четверг, 26.04.2012, 12:42 | Сообщение № 7
Группа: Заблокированные
Ранг: Прохожий
Сообщений: 3
Репутация: ±
Замечаний: 0% ±

Alex_ST,
Первый макрос, ругается на Me у выражении Me.CmbPerformer.Text и так далее. Попробовал заменить все Me на название формы, на которой размещены все перечисленные в макросе элементы управления, макрос срабатывает, но не переносит инфу из элементов управления в колонтитулы.
Как и не переносит ее второй макрос. Хотя также срабатывает.
Попробовал в примере. Оба макроса работают без проблем и быстро.
По моим соображением выходит, что у варианте с рабочим файлом, инфу из формы, макрос считывает, но не вставляет ее в колонтитулы. Но может я ошибаюсь.


Сообщение отредактировал Юзер - Четверг, 26.04.2012, 12:45
 
Ответить
СообщениеAlex_ST,
Первый макрос, ругается на Me у выражении Me.CmbPerformer.Text и так далее. Попробовал заменить все Me на название формы, на которой размещены все перечисленные в макросе элементы управления, макрос срабатывает, но не переносит инфу из элементов управления в колонтитулы.
Как и не переносит ее второй макрос. Хотя также срабатывает.
Попробовал в примере. Оба макроса работают без проблем и быстро.
По моим соображением выходит, что у варианте с рабочим файлом, инфу из формы, макрос считывает, но не вставляет ее в колонтитулы. Но может я ошибаюсь.

Автор - Юзер
Дата добавления - 26.04.2012 в 12:42
Alex_ST Дата: Четверг, 26.04.2012, 13:28 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Юзер)
Первый макрос, ругается на Me у выражении Me.CmbPerformer.Text
Это как это? Где у вас код-то размещён?
Я, судя по Unload Me, решил, что код расположен в модуле формы. И на этой же форме - элементы управления.
А если вы код запихнули в модуль листа/книги/стандартный модуль, то работать и не будет.
Тогда без примера не понять. Ведь никому не не интересна ваша таблица целиком.
Создайте новую пустую книгу, в ней форму с этими тремя элементами управления. В модуле формы - код. Тестируйте. Не получится - выложите сюда.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 26.04.2012, 14:48
 
Ответить
Сообщение
Quote (Юзер)
Первый макрос, ругается на Me у выражении Me.CmbPerformer.Text
Это как это? Где у вас код-то размещён?
Я, судя по Unload Me, решил, что код расположен в модуле формы. И на этой же форме - элементы управления.
А если вы код запихнули в модуль листа/книги/стандартный модуль, то работать и не будет.
Тогда без примера не понять. Ведь никому не не интересна ваша таблица целиком.
Создайте новую пустую книгу, в ней форму с этими тремя элементами управления. В модуле формы - код. Тестируйте. Не получится - выложите сюда.

Автор - Alex_ST
Дата добавления - 26.04.2012 в 13:28
kim Дата: Четверг, 26.04.2012, 21:10 | Сообщение № 9
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Посты, не относящиеся к теме удалены...


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеПосты, не относящиеся к теме удалены...

Автор - kim
Дата добавления - 26.04.2012 в 21:10
KuklP Дата: Пятница, 27.04.2012, 06:09 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Игорь, а на форуме можно сколько угодно раз регистрироваться под разными никами? Типа - нагадил под одним, перешифровался и дои себе спокойно форум дальше. Пост Андрея не такой уж неотносящийся. Надо предупредить остальных форумчан, с кем имеют дело. ИМХО. И очень даже относится к теме, что эта мразь Муля пишет гадости о форумчанах на разных форумах по Эксу, а потом у них же клянчит помощь.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 27.04.2012, 06:10
 
Ответить
СообщениеИгорь, а на форуме можно сколько угодно раз регистрироваться под разными никами? Типа - нагадил под одним, перешифровался и дои себе спокойно форум дальше. Пост Андрея не такой уж неотносящийся. Надо предупредить остальных форумчан, с кем имеют дело. ИМХО. И очень даже относится к теме, что эта мразь Муля пишет гадости о форумчанах на разных форумах по Эксу, а потом у них же клянчит помощь.

Автор - KuklP
Дата добавления - 27.04.2012 в 06:09
kim Дата: Пятница, 27.04.2012, 07:54 | Сообщение № 11
Группа: Друзья
Ранг: Обитатель
Сообщений: 371
Репутация: 160 ±
Замечаний: 0% ±

Excel 2010
Сергей, а я дал повисеть сообщениям почти сутки, так что все уже успели прочитать, и каждый для себя сделать соответствующие выводы :).
P.S. Последние три поста удалю вечером.


Сцяна - гэта тая ж прыступка. Проста трэба дарасьці да яе.
 
Ответить
СообщениеСергей, а я дал повисеть сообщениям почти сутки, так что все уже успели прочитать, и каждый для себя сделать соответствующие выводы :).
P.S. Последние три поста удалю вечером.

Автор - kim
Дата добавления - 27.04.2012 в 07:54
Serge_007 Дата: Пятница, 27.04.2012, 11:27 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
А чего все расшумелись?
Когда такую же ссылку на планете Глеоду выкладывали - никто не возмущался smile

Тема закрыта, Глеод забанен, в правила внесены изменения в части запрета на создание нескольких учетных записей (пользователей-клонов) пункт 5n


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеА чего все расшумелись?
Когда такую же ссылку на планете Глеоду выкладывали - никто не возмущался smile

Тема закрыта, Глеод забанен, в правила внесены изменения в части запрета на создание нескольких учетных записей (пользователей-клонов) пункт 5n

Автор - Serge_007
Дата добавления - 27.04.2012 в 11:27
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!