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

Вход

Регистрация

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

 

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

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

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

В ходе выполнения макроса выходит окно с запросом ввода номера столбца. В случае если стиль ссылок стоит 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
Группа: Админы
Ранг: Местный житель
Сообщений: 18551
Репутация: 4200 ±
Замечаний: ±

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


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

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

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

Автор - TD_MElec
Дата добавления - 05.11.2020 в 19:23
bmv98rus Дата: Четверг, 05.11.2020, 19:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3944
Репутация: 724 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

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

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

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


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

Автор - Pelena
Дата добавления - 05.11.2020 в 19:42
RAN Дата: Четверг, 05.11.2020, 21:37 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 64
Репутация: 22 ±
Замечаний: 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
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3944
Репутация: 724 ±
Замечаний: 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
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2019
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
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

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

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


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

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

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

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