powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как через VBA получать данные, которые делает функция Index
25 сообщений из 46, страница 1 из 2
как через VBA получать данные, которые делает функция Index
    #33981725
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
существует активная ячейка и ячейка, куда надо получить значение для активной ячейки, возвращаемое функцией индекс . каким способом возможно? только вба или есть простые штатные средства?
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33982020
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
значение для активной ячейки в VBA получают с пом. ActiveCell.Value. Не вижу связи с INDEX - может ты хочешь чего то другого?

если вопрос в том есть ли в VBA эквивалент INDEX, то

Вар 1:

Cells(x,y)

Вар 2:

Range("A1:B10")(x , y)
[A1:B10](x , y)

Вар 3:

dim rng as Range
set rng=[A1:B10]
rng(x , y)

Вар 4:

Application.Index([A1:B10], x, y, z)

Вар 5:

WorksheetFunction.Index([A1:B10], x, y, z)
Application.WorksheetFunction.Index([A1:B10], x, y, z)

и т.д. и т.п. и пр.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33984385
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)значение для активной ячейки в VBA получают с пом. ActiveCell.Value. Не вижу связи с INDEX - может ты хочешь чего то другого?

если вопрос в том есть ли в VBA эквивалент INDEX, то

Вар 1:

Cells(x,y)

Вар 2:

Range("A1:B10")(x , y)
[A1:B10](x , y)

Вар 3:

dim rng as Range
set rng=[A1:B10]
rng(x , y)

Вар 4:

Application.Index([A1:B10], x, y, z)

Вар 5:

WorksheetFunction.Index([A1:B10], x, y, z)
Application.WorksheetFunction.Index([A1:B10], x, y, z)

и т.д. и т.п. и пр.

KL
[MVP - Microsoft Excel] поробую по-другому объяснить. я тыкаю в строку (ячейку) и в другой ячейке (причем в той, какую надо в любом месте листа) отображается значение, которое возвращается функцией ИНДЕКС. Задача в том, чтобы через VBA получить это значение в любой момент времени для активной ячеки.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33984527
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно просто конкретный пример с указанием конкретных рангов (ячеек), значений, формул (тех, которые используют INDEX) и конкретный ожидаемый результат для конкретного примера? А то новое пояснение еще менее понятно, чем первое :-)


KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33985069
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример тут Так вот другой вариант задачи. Как с помощью вба исключить комбобокс и чтобы функцию комбобокса (а имеено формирование значения в ячейке "Index" - это присвоенное имя) взял на себя вба. А нужно это, чтобы не формировать допстолбец слева. Если просто. То ты тыкнул бы в ячейку в таблице (любую) и тебе бы вверху выдало бы значения.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33985267
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может так (???): см. файл

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33985273
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то файл (25кв) не цепляется. еще попытка.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33986071
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL)что-то файл (25кв) не цепляется. еще попытка.

KL
[MVP - Microsoft Excel] то есть по сути функции индекс не надо, выходит?
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33986161
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33то есть по сути функции индекс не надо, выходит?

Обобщать я бы не стал, но в данном случае выходит, что нет ;-)

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33986358
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) Ivan33то есть по сути функции индекс не надо, выходит?

Обобщать я бы не стал, но в данном случае выходит, что нет ;-)

KL
[MVP - Microsoft Excel] для увеличения строк, куда возвращается значение надо поменять показатель в цилке фор, а где меня показатель, если надо поменять столбец? если к примеру, это не б-столбец, а g?
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33987116
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33
...а где меня показатель, если надо поменять столбец? если к примеру, это не б-столбец, а g?


Cells(i + 1, 2 ) = Cells(r, i)
на
Cells(i + 1, 7 ) = Cells(r, i)

или

Cells(i + 1, "B" ) = Cells(r, i)
на
Cells(i + 1, "G" ) = Cells(r, i)

KL
[MVP - Microsoft Excel
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33990773
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) Ivan33
...а где меня показатель, если надо поменять столбец? если к примеру, это не б-столбец, а g?


Cells(i + 1, 2 ) = Cells(r, i)
на
Cells(i + 1, 7 ) = Cells(r, i)

или

Cells(i + 1, "B" ) = Cells(r, i)
на
Cells(i + 1, "G" ) = Cells(r, i)

KL
[MVP - Microsoft Excel странно, но это работает с переменным успехом почему-то. вводил например, 7. столбец не изменился. ввел G получилось. вернуть в исходную позицию не получается (исходная позиция "2") и сохрянялся и закрывался. а что это может быть за глюк?
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33990825
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33странно, но это работает с переменным успехом почему-то. вводил например, 7. столбец не изменился. ввел G получилось. вернуть в исходную позицию не получается (исходная позиция "2") и сохрянялся и закрывался. а что это может быть за глюк?

Первое, что режет глаз это - "2" !!!
Кавычки с индексом использовать не надо.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33991056
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) Ivan33странно, но это работает с переменным успехом почему-то. вводил например, 7. столбец не изменился. ввел G получилось. вернуть в исходную позицию не получается (исходная позиция "2") и сохрянялся и закрывался. а что это может быть за глюк?

Первое, что режет глаз это - "2" !!!
Кавычки с индексом использовать не надо. я не использовал, просто отделил кавычками в посте цифру 2.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33991695
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня, как бы я не менял цыфры или буквы, работает как часы. Скорее всего ты поменял что-то еще в первоначальном коде. Вывешивай свой файл или код.

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33996014
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот файл. глюк в столбце g

и вот еще вопрос появился. допустим, что в одном столбце есть либо мыло, либо гиперссылка, как возможно возвратить этот формат в вертикальный вид, так как все равно макрос возвращает только текст в ячейку?
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33996717
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33вот файл. глюк в столбце gУ меня глюк не воспроизводится - наверное климат не подходит :-) Опиши точную последовательность действий.

Ivan33...в одном столбце есть либо мыло, либо гиперссылка, как возможно возвратить этот формат в вертикальный вид...?Что значит "возвратить этот формат в вертикальный вид"? Можно поподробнее, а то я не очень въезжаю :-(
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33996790
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) Ivan33вот файл. глюк в столбце gУ меня глюк не воспроизводится - наверное климат не подходит :-) Опиши точную последовательность действий.:-(
Странно, когда я меняю колонку либо буквой, либо цифрой, то сначала колонка (при букве) меняется, но назад потом меняться не хочет, а при цифре тем более не меняется.




Ivan33...в одном столбце есть либо мыло, либо гиперссылка, как возможно возвратить этот формат в вертикальный вид...?Что значит "возвратить этот формат в вертикальный вид"? Можно поподробнее, а то я не очень въезжаю :-([/quot] в примере есть таблица и есть код вба, который перестраивает значения в конкретной строке таблицы из горизонтального положения в вертикальный: было ***
стало
*
*
*
Но допустим в ячейке таблицы не просто текст, а например адрес почты или гипессылка. А код вба в виде таблицы
*
*
* возвращает текст, а необходимо сохранить рабочую гиперсссылку. (Пример прикреплен)
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33996817
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
глюк в картинке изображен. причем этот глюк появился после того, как я поставил колонку "G"и не хочет убираться ни после смены буквы и ни после цифры.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998074
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33глюк в картинке изображен. причем этот глюк появился после того, как я поставил колонку "G"и не хочет убираться ни после смены буквы и ни после цифры.Коллекция Cells это относительная коллекция. Она всегда берется относительно чего-то. Если ты не укажешь относительно чего именно - оно будет взято от объекта имеющего фокус в данный конкретный момент.
Всегда указывай от чего ты берешь свою Cells. В данном случае, исправь свой цикл на:
Код: plaintext
1.
2.
for i= 1  to  5 
   ActiveSheet.Cells(i +  1 ,  2 ) = ActiveSheet.Cells(r, i)
next
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998193
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlКоллекция Cells это относительная коллекция. Она всегда берется относительно чего-то. Если ты не укажешь относительно чего именно - оно будет взято от объекта имеющего фокус в данный конкретный момент.
Всегда указывай от чего ты берешь свою Cells. В данном случае, исправь свой цикл на:
Код: plaintext
1.
2.
for i= 1  to  5 
   ActiveSheet.Cells(i +  1 ,  2 ) = ActiveSheet.Cells(r, i)
next


Неверно. Если объект Range вызывается из модуля листа (что отчетливо видно на скриншоте), то по умолчанию этот Range принадлежит Me (листу модуля, а не активному). Т.ч. здесь все путем, и лист прописывать не надо.
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998216
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33глюк в картинке изображен. причем этот глюк появился после того, как я поставил колонку "G"и не хочет убираться ни после смены буквы и ни после цифры.

Так в чем же глюк?
Ты поменял индекс "G" на 2, и при кликах на разных строках таблицы...

а) продолжает меняться столбец "G" с правильными значениями
б) продолжает меняться столбец "G" с неправильными значениями
в) начал меняться столбец "B" с неправильными значениями
г) никакоц столбец не меняется
д) другое (что?)
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998247
KL (XL)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33Но допустим в ячейке таблицы не просто текст, а например адрес почты или гипессылка ...необходимо сохранить рабочую гиперсссылку.
Можно например так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count >  1  Then Set Target = ActiveCell
    If Intersect(Target, [Table]) Is Nothing Then Exit Sub
    Dim i As Long, r As Long
    r = Target.Row
    For i =  1  To  5 
        With Cells(r, i)
            If .Hyperlinks.Count Then
               Cells(i +  1 ,  2 ).Hyperlinks.Add _
                Anchor:=Cells(i +  1 ,  2 ), _
                Address:=.Hyperlinks.Item( 1 ).Address, _
                TextToDisplay:=.Hyperlinks.Item( 1 ).TextToDisplay
            Else
                With Cells(i +  1 ,  2 )
                    If .Hyperlinks.Count Then .Hyperlinks.Delete
                    .Value = Cells(r, i)
                End With
            End If
        End With
    Next i
End Sub
KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998642
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KL (XL) Ivan33глюк в картинке изображен. причем этот глюк появился после того, как я поставил колонку "G"и не хочет убираться ни после смены буквы и ни после цифры.

Так в чем же глюк?
Ты поменял индекс "G" на 2, и при кликах на разных строках таблицы...

а) продолжает меняться столбец "G" с правильными значениями
б) продолжает меняться столбец "G" с неправильными значениями
в) начал меняться столбец "B" с неправильными значениями
г) никакоц столбец не меняется
д) другое (что?)

я просто для проверки поменял номер столбца с двойки на букву "G" ну чтобы проверить как можно будет в любой столбец переместить значения. Значения переместились, но потом назад ни в какую, ни при смене букв, ни при смене цифр.
вот этот глюк снова
...
Рейтинг: 0 / 0
как через VBA получать данные, которые делает функция Index
    #33998656
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот еще один практический вопрос. Он приведен в примере. В принципе смещение и глюк с этим можно обойти более удобным способом (он приведен в примере). Так вот вопрос теперь в другом. Теперь значения из столбца Decs при вставке этих значений в текстбокс(просто фигура) возвращают текст независимо от того, гиперрсылка это или нет (в фигуре, которые отображают текст столбца Decs возвращается стиль - синий текст с подчеркиванием - гиперссылки). И возможно ли заставить текст в самой фигуре работать как гиперрссылка, а не текст?
...
Рейтинг: 0 / 0
25 сообщений из 46, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как через VBA получать данные, которые делает функция Index
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]