Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как через VBA получать данные, которые делает функция Index / 25 сообщений из 46, страница 1 из 2
12.09.2006, 17:03:58
    #33981725
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
существует активная ячейка и ячейка, куда надо получить значение для активной ячейки, возвращаемое функцией индекс . каким способом возможно? только вба или есть простые штатные средства?
...
Рейтинг: 0 / 0
12.09.2006, 18:17:12
    #33982020
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
значение для активной ячейки в 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
13.09.2006, 15:03:02
    #33984385
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
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
13.09.2006, 15:36:03
    #33984527
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
А можно просто конкретный пример с указанием конкретных рангов (ячеек), значений, формул (тех, которые используют INDEX) и конкретный ожидаемый результат для конкретного примера? А то новое пояснение еще менее понятно, чем первое :-)


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

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

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

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

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

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

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

KL
[MVP - Microsoft Excel] для увеличения строк, куда возвращается значение надо поменять показатель в цилке фор, а где меня показатель, если надо поменять столбец? если к примеру, это не б-столбец, а g?
...
Рейтинг: 0 / 0
14.09.2006, 13:52:20
    #33987116
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
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
15.09.2006, 15:54:54
    #33990773
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
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
15.09.2006, 16:08:31
    #33990825
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
Ivan33странно, но это работает с переменным успехом почему-то. вводил например, 7. столбец не изменился. ввел G получилось. вернуть в исходную позицию не получается (исходная позиция "2") и сохрянялся и закрывался. а что это может быть за глюк?

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

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

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

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

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




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

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

а) продолжает меняться столбец "G" с правильными значениями
б) продолжает меняться столбец "G" с неправильными значениями
в) начал меняться столбец "B" с неправильными значениями
г) никакоц столбец не меняется
д) другое (что?)
...
Рейтинг: 0 / 0
19.09.2006, 23:12:24
    #33998247
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
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
20.09.2006, 09:59:59
    #33998642
Ivan33
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через VBA получать данные, которые делает функция Index
KL (XL) Ivan33глюк в картинке изображен. причем этот глюк появился после того, как я поставил колонку "G"и не хочет убираться ни после смены буквы и ни после цифры.

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

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

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


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