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

Вход

Регистрация

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

 

= Мир MS Excel/Создание переменной на основании переменной строки - Мир MS Excel

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

Excel 2016
Здравствуйте.
Ребята есть код где переменная «myF» это ячейка в колонке со словом «Сдал», далее переменная «er» формирует строку верх на две позиции, от слова «Сдал».

[vba]
Код
    Set InvoiceSheet = ThisWorkbook.Worksheets("invoice")    'Лист "invoice"
    Set myF = InvoiceSheet.Columns(4).Find("Сдал:", , xlValues, xlPart)
    er = myF.Row - 2 'Переменная строки на две позиции вверх от Сдал
    ar = ?           'Переменная ячейки на две позиции вверх от Сдал
[/vba]
Как дополнить код переменной (допустим переменной «ar») которая-бы формировала ячейку также на две позиции вверх от слова «Сдал» дабы использовать ее в условии?

[vba]
Код
    If ar = "" Then 'Если ячейка над словом «Сдала» пуста то выполнить код
[/vba]


Сообщение отредактировал Сергей13 - Понедельник, 01.04.2019, 02:12
 
Ответить
СообщениеЗдравствуйте.
Ребята есть код где переменная «myF» это ячейка в колонке со словом «Сдал», далее переменная «er» формирует строку верх на две позиции, от слова «Сдал».

[vba]
Код
    Set InvoiceSheet = ThisWorkbook.Worksheets("invoice")    'Лист "invoice"
    Set myF = InvoiceSheet.Columns(4).Find("Сдал:", , xlValues, xlPart)
    er = myF.Row - 2 'Переменная строки на две позиции вверх от Сдал
    ar = ?           'Переменная ячейки на две позиции вверх от Сдал
[/vba]
Как дополнить код переменной (допустим переменной «ar») которая-бы формировала ячейку также на две позиции вверх от слова «Сдал» дабы использовать ее в условии?

[vba]
Код
    If ar = "" Then 'Если ячейка над словом «Сдала» пуста то выполнить код
[/vba]

Автор - Сергей13
Дата добавления - 01.04.2019 в 01:57
китин Дата: Понедельник, 01.04.2019, 07:29 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 5598
Репутация: 891 ±
Замечаний: 0% ±

Excel 2007;Excel 2010
- Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
[vba]
Код
ar = Cells(er,4).Value
[/vba]
без файла на коленке


Не судите строго:я пытаюсь научиться
ЯД 41001877306852/WM R249698041931; Z239672726538
 
Ответить
Сообщение- Прочитайте Правила форума
- Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
[vba]
Код
ar = Cells(er,4).Value
[/vba]
без файла на коленке

Автор - китин
Дата добавления - 01.04.2019 в 07:29
Сергей13 Дата: Понедельник, 01.04.2019, 08:37 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 224
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
китин, Здравствуйте.
Вечером приложу. Сейчас нет возможности.
 
Ответить
Сообщениекитин, Здравствуйте.
Вечером приложу. Сейчас нет возможности.

Автор - Сергей13
Дата добавления - 01.04.2019 в 08:37
Pelena Дата: Понедельник, 01.04.2019, 09:15 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14097
Репутация: 3081 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Вариант
[vba]
Код
If Not myF is Nothing Then Set ar=myF.Offset(-2)
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеВариант
[vba]
Код
If Not myF is Nothing Then Set ar=myF.Offset(-2)
[/vba]

Автор - Pelena
Дата добавления - 01.04.2019 в 09:15
Сергей13 Дата: Понедельник, 01.04.2019, 23:10 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 224
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
китин, так как Вы в точности уловили мысль, то надобность в примере отпадает.
Благодарю за помощь!!!
Pelena в данном случае нужна была переменная (описанная выше) без неких условий, где в дальнейшем на основе данной переменной и будет создано условие.
Спасибо за предоставленный вариант возможно пригодится в ином случае.


Сообщение отредактировал Сергей13 - Понедельник, 01.04.2019, 23:11
 
Ответить
Сообщениекитин, так как Вы в точности уловили мысль, то надобность в примере отпадает.
Благодарю за помощь!!!
Pelena в данном случае нужна была переменная (описанная выше) без неких условий, где в дальнейшем на основе данной переменной и будет создано условие.
Спасибо за предоставленный вариант возможно пригодится в ином случае.

Автор - Сергей13
Дата добавления - 01.04.2019 в 23:10
StoTisteg Дата: Вторник, 02.04.2019, 12:57 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1157
Репутация: 103 ±
Замечаний: 0% ±

Excel 2010
Цитата Сергей13, 01.04.2019 в 23:10, в сообщении № 5 ()
Pelena в данном случае нужна была переменная (описанная выше) без неких условий
Её Вы и получили. Это не у Елены, это у Вас ошибка — не предусмотрено, что в 4 колонке может не быть текста "Сдал:". Елена это предусмотрела. Потому что если текста в колонке таки нет, Вы вместо ячейки на две строки выше несуществующего получите нечто совершенно непредсказуемое, в общем случае — -2 ряд.


Интуитивно понятный код - это когда интуитивно понятно, что это код.

Сообщение отредактировал StoTisteg - Вторник, 02.04.2019, 12:59
 
Ответить
Сообщение
Цитата Сергей13, 01.04.2019 в 23:10, в сообщении № 5 ()
Pelena в данном случае нужна была переменная (описанная выше) без неких условий
Её Вы и получили. Это не у Елены, это у Вас ошибка — не предусмотрено, что в 4 колонке может не быть текста "Сдал:". Елена это предусмотрела. Потому что если текста в колонке таки нет, Вы вместо ячейки на две строки выше несуществующего получите нечто совершенно непредсказуемое, в общем случае — -2 ряд.

Автор - StoTisteg
Дата добавления - 02.04.2019 в 12:57
Сергей13 Дата: Вторник, 02.04.2019, 21:56 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 224
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
StoTisteg, Ни в коем случае не оспариваю.
Но отталкиваясь от того, что слово «Сдал» или какое иное должно быть фиксировано и прописано в коде как некая метка без вариантов, иначе нарушается весь алгоритм иных действий, то выбрал фиксированный вариант без каких-либо условий (дабы не до конца понимал данное условие), возможно я ошибаюсь, но пока работает...
В тоже время протестировал код Елены, тоже работает.
Поэтому в очередной раз спасибо всем тем кто помог и кто дал расклад данному условию. Приму к сведению.
 
Ответить
СообщениеStoTisteg, Ни в коем случае не оспариваю.
Но отталкиваясь от того, что слово «Сдал» или какое иное должно быть фиксировано и прописано в коде как некая метка без вариантов, иначе нарушается весь алгоритм иных действий, то выбрал фиксированный вариант без каких-либо условий (дабы не до конца понимал данное условие), возможно я ошибаюсь, но пока работает...
В тоже время протестировал код Елены, тоже работает.
Поэтому в очередной раз спасибо всем тем кто помог и кто дал расклад данному условию. Приму к сведению.

Автор - Сергей13
Дата добавления - 02.04.2019 в 21:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание переменной на основании переменной строки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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