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

Вход

Регистрация

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

 

= Мир MS Excel/Переход по строкам "-" одно значение - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переход по строкам "-" одно значение (Макросы/Sub)
Переход по строкам "-" одно значение
bumnik Дата: Воскресенье, 20.03.2016, 10:42 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Здравствуйте! Данный код позволяет быстро перемещаться по страницам вверх и при этом нумерует страницы. Всё работает, но не могу понять как изменить код таким образом чтобы нумерация начиналась от 1 и до 100? В моём случае нумерация может быть менее 1 и более 100.
[vba]
Код
Sub вверх_сторона_1()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ActiveWindow.SmallScroll up:=47
    Range("BE2") = Range("BE2") - 1
    Sheets("Наряд 2").Visible = True
    Sheets("Наряд 2").Select
    ActiveWindow.SmallScroll up:=36
    Range("AV2") = Range("AV2") - 1
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Наряд 1").Select
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеЗдравствуйте! Данный код позволяет быстро перемещаться по страницам вверх и при этом нумерует страницы. Всё работает, но не могу понять как изменить код таким образом чтобы нумерация начиналась от 1 и до 100? В моём случае нумерация может быть менее 1 и более 100.
[vba]
Код
Sub вверх_сторона_1()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ActiveWindow.SmallScroll up:=47
    Range("BE2") = Range("BE2") - 1
    Sheets("Наряд 2").Visible = True
    Sheets("Наряд 2").Select
    ActiveWindow.SmallScroll up:=36
    Range("AV2") = Range("AV2") - 1
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Наряд 1").Select
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - bumnik
Дата добавления - 20.03.2016 в 10:42
Karataev Дата: Воскресенье, 20.03.2016, 11:05 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
покажите файл (можете удалить все данные или замените данные на какие-нибудь выдуманные), иначе не понятна ситуация


 
Ответить
Сообщениепокажите файл (можете удалить все данные или замените данные на какие-нибудь выдуманные), иначе не понятна ситуация

Автор - Karataev
Дата добавления - 20.03.2016 в 11:05
KuklP Дата: Воскресенье, 20.03.2016, 11:11 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

чтобы нумерация начиналась
- начиналась где? Нам угадать? Этот ваш код ничего не нумерует, он меняет значение двух ячеек в разных листах на единицу меньше и при этом с непонятной целью ерзает по листам, что вовсе необязательно. Хотите помощи, выкладывайте пример.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
чтобы нумерация начиналась
- начиналась где? Нам угадать? Этот ваш код ничего не нумерует, он меняет значение двух ячеек в разных листах на единицу меньше и при этом с непонятной целью ерзает по листам, что вовсе необязательно. Хотите помощи, выкладывайте пример.

Автор - KuklP
Дата добавления - 20.03.2016 в 11:11
Karataev Дата: Воскресенье, 20.03.2016, 11:14 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
одна мысль у меня есть, может быть поможет:
[vba]
Код
Sub вверх_сторона_1()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ActiveWindow.SmallScroll up:=47
    Range("BE2") = IIf(Range("BE2") <= 1, 100, Range("BE2") - 1)
    Sheets("Наряд 2").Visible = True
    Sheets("Наряд 2").Select
    ActiveWindow.SmallScroll up:=36
    Range("AV2") = IIf(Range("AV2") <= 1, 100, Range("AV2") - 1)
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Наряд 1").Select
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
[/vba]
P.S. изменил макрос в соответствии с постом 5 (так удобнее получается)




Сообщение отредактировал Karataev - Воскресенье, 20.03.2016, 11:28
 
Ответить
Сообщениеодна мысль у меня есть, может быть поможет:
[vba]
Код
Sub вверх_сторона_1()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    ActiveWindow.SmallScroll up:=47
    Range("BE2") = IIf(Range("BE2") <= 1, 100, Range("BE2") - 1)
    Sheets("Наряд 2").Visible = True
    Sheets("Наряд 2").Select
    ActiveWindow.SmallScroll up:=36
    Range("AV2") = IIf(Range("AV2") <= 1, 100, Range("AV2") - 1)
    ActiveWindow.SelectedSheets.Visible = False
    Sheets("Наряд 1").Select
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub
[/vba]
P.S. изменил макрос в соответствии с постом 5 (так удобнее получается)

Автор - Karataev
Дата добавления - 20.03.2016 в 11:14
KuklP Дата: Воскресенье, 20.03.2016, 11:16 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1994
Репутация: 435 ±
Замечаний: 0% ±

Я тоже так подумал, но кто его знает..
[vba]
Код
Range("BE2") = IIf(Range("BE2") <= 1, 100, Range("BE2") - 1)
[/vba]
Это сработает и с пусто и с отрицательным и с нолем.


Ну, с НДС и мы чего-то стoим! kuklp@mail.ru
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 20.03.2016, 11:18
 
Ответить
СообщениеЯ тоже так подумал, но кто его знает..
[vba]
Код
Range("BE2") = IIf(Range("BE2") <= 1, 100, Range("BE2") - 1)
[/vba]
Это сработает и с пусто и с отрицательным и с нолем.

Автор - KuklP
Дата добавления - 20.03.2016 в 11:16
bumnik Дата: Воскресенье, 20.03.2016, 11:26 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Karataev, вот пример.
К сообщению приложен файл: 0566408.xlsm(19Kb)
 
Ответить
СообщениеKarataev, вот пример.

Автор - bumnik
Дата добавления - 20.03.2016 в 11:26
bumnik Дата: Воскресенье, 20.03.2016, 11:31 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 183
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Karataev, Спасибо за помощь. Всё работает, только изменил немного.
[vba]
Код
If Range("BE2") <= 1 Then
        Range("BE2") = 1
Else
[/vba]
Спасибо!!!
 
Ответить
СообщениеKarataev, Спасибо за помощь. Всё работает, только изменил немного.
[vba]
Код
If Range("BE2") <= 1 Then
        Range("BE2") = 1
Else
[/vba]
Спасибо!!!

Автор - bumnik
Дата добавления - 20.03.2016 в 11:31
Karataev Дата: Воскресенье, 20.03.2016, 11:31 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 641
Репутация: 226 ±
Замечаний: 0% ±

Excel
bumnik, файл не помог, т.к. его структура не соответствует посту 1 (например, имена листов не совпадают, нет чисел в ячейках BE2 и AV2).




Сообщение отредактировал Karataev - Воскресенье, 20.03.2016, 11:33
 
Ответить
Сообщениеbumnik, файл не помог, т.к. его структура не соответствует посту 1 (например, имена листов не совпадают, нет чисел в ячейках BE2 и AV2).

Автор - Karataev
Дата добавления - 20.03.2016 в 11:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Переход по строкам "-" одно значение (Макросы/Sub)
Страница 1 из 11
Поиск:

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