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

Вход

Регистрация

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

 

= Мир MS Excel/Стиль ссылок R1C1 во время работы макроса - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Стиль ссылок R1C1 во время работы макроса (Макросы/Sub)
Стиль ссылок R1C1 во время работы макроса
TD_MElec Дата: Четверг, 05.11.2020, 17:40 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Добрый день.

В ходе выполнения макроса выходит окно с запросом ввода номера столбца. В случае если стиль ссылок стоит R1C1, то проблем не возникает, а вот при А В С, пользователю приходится высчитывать тот самый номер.

Поставил в начале макроса сроку:
[vba]
Код
Application.ReferenceStyle = xlR1C1
Worksheets(WS_Name).Calculate
Application.ScreenUpdating = True
Application.ScreenUpdating = False
[/vba]
Каждую следующую строку добавлял думал ситуация поменяется, но нет.. Стиль ссылко меняется только после того как макрос завершен. Пробовал перед этим макросом запускать другой, меняющий стиль и после него сразу нужный, но опять ситуация не меняется.

Цель: перед появлением inputBox чтобы стиль ссылок был R1C1, если был другой, обратно можно не менять.
Прошу помощи в решении данного вопроса
 
Ответить
СообщениеДобрый день.

В ходе выполнения макроса выходит окно с запросом ввода номера столбца. В случае если стиль ссылок стоит R1C1, то проблем не возникает, а вот при А В С, пользователю приходится высчитывать тот самый номер.

Поставил в начале макроса сроку:
[vba]
Код
Application.ReferenceStyle = xlR1C1
Worksheets(WS_Name).Calculate
Application.ScreenUpdating = True
Application.ScreenUpdating = False
[/vba]
Каждую следующую строку добавлял думал ситуация поменяется, но нет.. Стиль ссылко меняется только после того как макрос завершен. Пробовал перед этим макросом запускать другой, меняющий стиль и после него сразу нужный, но опять ситуация не меняется.

Цель: перед появлением inputBox чтобы стиль ссылок был R1C1, если был другой, обратно можно не менять.
Прошу помощи в решении данного вопроса

Автор - TD_MElec
Дата добавления - 05.11.2020 в 17:40
Pelena Дата: Четверг, 05.11.2020, 19:21 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16779
Репутация: 3621 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Можно смену стиля ссылок поставить на открытие книги


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Можно смену стиля ссылок поставить на открытие книги

Автор - Pelena
Дата добавления - 05.11.2020 в 19:21
TD_MElec Дата: Четверг, 05.11.2020, 19:23 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Pelena, добрый день
Дело в том, что это надстройка. Такой вариант здесь не подойдет.
 
Ответить
СообщениеPelena, добрый день
Дело в том, что это надстройка. Такой вариант здесь не подойдет.

Автор - TD_MElec
Дата добавления - 05.11.2020 в 19:23
bmv98rus Дата: Четверг, 05.11.2020, 19:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3247
Репутация: 558 ±
Замечаний: 0% ±

Excel 2013/2016
[vba]
Код
DoEvents
[/vba]


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение[vba]
Код
DoEvents
[/vba]

Автор - bmv98rus
Дата добавления - 05.11.2020 в 19:28
TD_MElec Дата: Четверг, 05.11.2020, 19:38 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Не помогает.
Ход выполнения:
Нужный макрос, внутри он запускает отдельную процедуру по смене стиля. В этой процедуре в конце ставлю DoEvents.
после выполнения процедуры Нужный макрос продолжает работу, доходит до InpuBox и всё равно АВС
 
Ответить
СообщениеНе помогает.
Ход выполнения:
Нужный макрос, внутри он запускает отдельную процедуру по смене стиля. В этой процедуре в конце ставлю DoEvents.
после выполнения процедуры Нужный макрос продолжает работу, доходит до InpuBox и всё равно АВС

Автор - TD_MElec
Дата добавления - 05.11.2020 в 19:38
Pelena Дата: Четверг, 05.11.2020, 19:42 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16779
Репутация: 3621 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Может, использовать Application.InputBox, тогда можно просто выделить нужный столбец. Правда, потом нужно будет по адресу вычислить номер столбца, если это необходимо


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеМожет, использовать Application.InputBox, тогда можно просто выделить нужный столбец. Правда, потом нужно будет по адресу вычислить номер столбца, если это необходимо

Автор - Pelena
Дата добавления - 05.11.2020 в 19:42
RAN Дата: Четверг, 05.11.2020, 21:37 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5335
Репутация: 1065 ±
Замечаний: 0% ±

2010
А пущай его Excel высчитывает.
[vba]
Код
Sub qq()
    s = InputBox("jhjk")
    If IsNumeric(s) Then x = Val(s) Else x = Cells(1, s).Column
    MsgBox x
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА пущай его Excel высчитывает.
[vba]
Код
Sub qq()
    s = InputBox("jhjk")
    If IsNumeric(s) Then x = Val(s) Else x = Cells(1, s).Column
    MsgBox x
End Sub
[/vba]

Автор - RAN
Дата добавления - 05.11.2020 в 21:37
CaramelManiac Дата: Пятница, 06.11.2020, 00:49 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 52
Репутация: 15 ±
Замечаний: 0% ±

MS Excel 2003-2019
Стиль ссылко меняется только после того как макрос завершен.

Этого не изменить. Application.ReferenceStyle меняет свойство excel, но изменение будет применено, только когда сам макрос, сделавший это изменение, и все его родительские макросы завершены.

Range.Address нельзя прикрутить? У него есть параметр ReferenceStyle, который позволяет указать в каком виде подается адрес.
При этом пользователь может писать, как ему удобно, а в коде можно конкретно указать какой стиль адресации использован.


Сообщение отредактировал CaramelManiac - Пятница, 06.11.2020, 00:51
 
Ответить
Сообщение
Стиль ссылко меняется только после того как макрос завершен.

Этого не изменить. Application.ReferenceStyle меняет свойство excel, но изменение будет применено, только когда сам макрос, сделавший это изменение, и все его родительские макросы завершены.

Range.Address нельзя прикрутить? У него есть параметр ReferenceStyle, который позволяет указать в каком виде подается адрес.
При этом пользователь может писать, как ему удобно, а в коде можно конкретно указать какой стиль адресации использован.

Автор - CaramelManiac
Дата добавления - 06.11.2020 в 00:49
bmv98rus Дата: Воскресенье, 08.11.2020, 15:13 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3247
Репутация: 558 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата CaramelManiac, 06.11.2020 в 00:49, в сообщении № 8 ()
Аpplication.ReferenceStyle меняет свойство excel, но изменение будет применено, только когда сам макрос, сделавший это изменение, и все его родительские макросы завершены.

Это с каких пор DoEvents не передает контроль приложению?


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Понедельник, 09.11.2020, 13:51
 
Ответить
Сообщение
Цитата CaramelManiac, 06.11.2020 в 00:49, в сообщении № 8 ()
Аpplication.ReferenceStyle меняет свойство excel, но изменение будет применено, только когда сам макрос, сделавший это изменение, и все его родительские макросы завершены.

Это с каких пор DoEvents не передает контроль приложению?

Автор - bmv98rus
Дата добавления - 08.11.2020 в 15:13
TD_MElec Дата: Понедельник, 09.11.2020, 12:42 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
bmv98rus, Спасибо)))

Работает!
Работает если перед change_Refstyle(Style) выполнить: [vba]
Код
Application.ScreenUpdating = True
[/vba]
Я же эту строчку выполнял после работы макроса по смене стиля, тогда не работает.
 
Ответить
Сообщениеbmv98rus, Спасибо)))

Работает!
Работает если перед change_Refstyle(Style) выполнить: [vba]
Код
Application.ScreenUpdating = True
[/vba]
Я же эту строчку выполнял после работы макроса по смене стиля, тогда не работает.

Автор - TD_MElec
Дата добавления - 09.11.2020 в 12:42
TD_MElec Дата: Понедельник, 09.11.2020, 16:45 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 39
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Мистика...
Перестало работать... Ничего не менял. Цифровые столбцы моргают после ввода номера столбца

В общем, через час опять заработало. Понять причину, не могу. Т.е. видимо тот самый DoEvent, при какой-то ситуации всё нормально, а при другой - не нравится ему что то.


Сообщение отредактировал TD_MElec - Понедельник, 09.11.2020, 17:09
 
Ответить
СообщениеМистика...
Перестало работать... Ничего не менял. Цифровые столбцы моргают после ввода номера столбца

В общем, через час опять заработало. Понять причину, не могу. Т.е. видимо тот самый DoEvent, при какой-то ситуации всё нормально, а при другой - не нравится ему что то.

Автор - TD_MElec
Дата добавления - 09.11.2020 в 16:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Стиль ссылок R1C1 во время работы макроса (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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