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

Вход

Регистрация

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

 

= Мир MS Excel/Формула для поиска значения в разных листах кроме текущего и - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: китин, _Boroda_  
Формула для поиска значения в разных листах кроме текущего и
RAN Дата: Понедельник, 31.10.2011, 16:24 | Сообщение № 21
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
В модуль листа 5655
Code
Private Sub Worksheet_Activate()
Cells.Calculate
End Sub

Должно помочь.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВ модуль листа 5655
Code
Private Sub Worksheet_Activate()
Cells.Calculate
End Sub

Должно помочь.

Автор - RAN
Дата добавления - 31.10.2011 в 16:24
Serge_007 Дата: Понедельник, 31.10.2011, 16:27 | Сообщение № 22
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (RAN)
Должно помочь.

Не-а...
К сообщению приложен файл: RAN.xls (63.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (RAN)
Должно помочь.

Не-а...

Автор - Serge_007
Дата добавления - 31.10.2011 в 16:27
bygaga Дата: Понедельник, 31.10.2011, 16:30 | Сообщение № 23
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (RAN)
Пример кто прикладывать будет? (В т.ч. и по двум книгам)

Простите меня за наглость, но я просто спросил возможно ли это, и как, имея функцию утки smile , распространить ее и на другие книги, возможно нужно просто дописать еще одну функцию, просто я не знаком с операторами vba, и возможно ли это вообще?

Quote (Serge_007)
Нет, Андрей, я тоже так думал, но она именно так как написал bygaga, и работает...

Quote (Serge_007)
Serge_007
спасибо за внимательность!

Quote (RAN)
из поста № 10.
- это файл "1041084.xls"
Пользовательские функции созданные в vba не считает автоматически после изменения аргумента?
Считает только после нажатия ввода в режиме редактирования ячейки или же после повторного протягивания формулы.
Может это как-то связанно с Excel (у меня 2003) или версией VBA (у меня - version 9969, retail 6.4.8869, Forms3: 11.0.5601)
 
Ответить
Сообщение
Quote (RAN)
Пример кто прикладывать будет? (В т.ч. и по двум книгам)

Простите меня за наглость, но я просто спросил возможно ли это, и как, имея функцию утки smile , распространить ее и на другие книги, возможно нужно просто дописать еще одну функцию, просто я не знаком с операторами vba, и возможно ли это вообще?

Quote (Serge_007)
Нет, Андрей, я тоже так думал, но она именно так как написал bygaga, и работает...

Quote (Serge_007)
Serge_007
спасибо за внимательность!

Quote (RAN)
из поста № 10.
- это файл "1041084.xls"
Пользовательские функции созданные в vba не считает автоматически после изменения аргумента?
Считает только после нажатия ввода в режиме редактирования ячейки или же после повторного протягивания формулы.
Может это как-то связанно с Excel (у меня 2003) или версией VBA (у меня - version 9969, retail 6.4.8869, Forms3: 11.0.5601)

Автор - bygaga
Дата добавления - 31.10.2011 в 16:30
RAN Дата: Понедельник, 31.10.2011, 16:53 | Сообщение № 24
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Лучше ничего не придумал
Code
Private Sub Worksheet_Activate()
[F12:F19].Formula = [F12:F19].Formula
End Sub

Quote (bygaga)
Простите меня за наглость, но я просто спросил возможно ли это

Возможно


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЛучше ничего не придумал
Code
Private Sub Worksheet_Activate()
[F12:F19].Formula = [F12:F19].Formula
End Sub

Quote (bygaga)
Простите меня за наглость, но я просто спросил возможно ли это

Возможно

Автор - RAN
Дата добавления - 31.10.2011 в 16:53
bygaga Дата: Понедельник, 31.10.2011, 17:20 | Сообщение № 25
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (RAN)
RAN

Спасибо!
 
Ответить
Сообщение
Quote (RAN)
RAN

Спасибо!

Автор - bygaga
Дата добавления - 31.10.2011 в 17:20
bygaga Дата: Вторник, 01.11.2011, 13:29 | Сообщение № 26
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
здравствуйте уважаемые RAN и Serge 007!
Можно вам задать еще один вопрос - можно ли вместо "...Утки_Альтернатива = .Cells(i, 2).Offset(, 6)" сделать "...Утки_Имя = .Cells(i, 2).Offset(, 6)" и вместо "Offset(, 6)" написать так чтобы функция ставила в ячейку "ИМЯ листа" где найден ".Cells(i, 2)"? так как у меня ничего не получилась самостоятельно это сделать, снова обращаюсь к вам за помощью...


Сообщение отредактировал bygaga - Вторник, 01.11.2011, 13:31
 
Ответить
Сообщениездравствуйте уважаемые RAN и Serge 007!
Можно вам задать еще один вопрос - можно ли вместо "...Утки_Альтернатива = .Cells(i, 2).Offset(, 6)" сделать "...Утки_Имя = .Cells(i, 2).Offset(, 6)" и вместо "Offset(, 6)" написать так чтобы функция ставила в ячейку "ИМЯ листа" где найден ".Cells(i, 2)"? так как у меня ничего не получилась самостоятельно это сделать, снова обращаюсь к вам за помощью...

Автор - bygaga
Дата добавления - 01.11.2011 в 13:29
Jhonson Дата: Вторник, 01.11.2011, 13:40 | Сообщение № 27
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Quote
альтернатива утки работает правильно, НО сама она автоматически не обновляется, как мне это исправить?


Можете еще так попробовать:
вставить это
Code
Application.Volatile True

перед этим
Code
Dim sh, i&


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Вторник, 01.11.2011, 13:49
 
Ответить
Сообщение
Quote
альтернатива утки работает правильно, НО сама она автоматически не обновляется, как мне это исправить?


Можете еще так попробовать:
вставить это
Code
Application.Volatile True

перед этим
Code
Dim sh, i&

Автор - Jhonson
Дата добавления - 01.11.2011 в 13:40
Jhonson Дата: Вторник, 01.11.2011, 13:57 | Сообщение № 28
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Утки_Альтернатива = sh.Name


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
СообщениеУтки_Альтернатива = sh.Name

Автор - Jhonson
Дата добавления - 01.11.2011 в 13:57
RAN Дата: Вторник, 01.11.2011, 13:58 | Сообщение № 29
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
bygaga, а если все то-же самое написать нормальным языком, да еще с примером хотелки?
Я думаю лед тронется быстрее.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеbygaga, а если все то-же самое написать нормальным языком, да еще с примером хотелки?
Я думаю лед тронется быстрее.

Автор - RAN
Дата добавления - 01.11.2011 в 13:58
bygaga Дата: Вторник, 01.11.2011, 13:59 | Сообщение № 30
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (Jhonson)
Можете еще так попробовать

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

не получается, но ближе к истине, так как обновляются все формулы при нажатии ввода в режиме редактирования любой из ячейки с формулой

Автор - bygaga
Дата добавления - 01.11.2011 в 13:59
bygaga Дата: Вторник, 01.11.2011, 14:01 | Сообщение № 31
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (RAN)
а если все то-же самое написать нормальным языком, да еще с примером хотелки? Я думаю лед тронется быстрее.

smile секу...
 
Ответить
Сообщение
Quote (RAN)
а если все то-же самое написать нормальным языком, да еще с примером хотелки? Я думаю лед тронется быстрее.

smile секу...

Автор - bygaga
Дата добавления - 01.11.2011 в 14:01
bygaga Дата: Вторник, 01.11.2011, 14:08 | Сообщение № 32
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
ячейки где нужна формула или VBA обозначены жёлтым цветом
К сообщению приложен файл: file.2.xls (85.0 Kb)
 
Ответить
Сообщениеячейки где нужна формула или VBA обозначены жёлтым цветом

Автор - bygaga
Дата добавления - 01.11.2011 в 14:08
Jhonson Дата: Вторник, 01.11.2011, 14:13 | Сообщение № 33
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

попробуйте так:
Code
Function Zkateg(aCell As String)
Application.Volatile True
Dim sh, i&
     For Each sh In Worksheets
         If sh.Name <> ActiveSheet.Name Then
             With sh
                 For i = 12 To 714
                     If .Cells(i, 2) = aCell Then
                         Zkateg = sh.Name
                         Exit Function
                     End If
                 Next
             End With
         End If
     Next
End Function


"Ничто не приносит людям столько неприятностей, как разум."
 
Ответить
Сообщениепопробуйте так:
Code
Function Zkateg(aCell As String)
Application.Volatile True
Dim sh, i&
     For Each sh In Worksheets
         If sh.Name <> ActiveSheet.Name Then
             With sh
                 For i = 12 To 714
                     If .Cells(i, 2) = aCell Then
                         Zkateg = sh.Name
                         Exit Function
                     End If
                 Next
             End With
         End If
     Next
End Function

Автор - Jhonson
Дата добавления - 01.11.2011 в 14:13
Jhonson Дата: Вторник, 01.11.2011, 14:16 | Сообщение № 34
Группа: Друзья
Ранг: Ветеран
Сообщений: 514
Репутация: 169 ±
Замечаний: 0% ±

Quote
не получается, но ближе к истине, так как обновляются все формулы при нажатии ввода в режиме редактирования любой из ячейки с формулой

после того как добавите
Code
Application.Volatile True

еще добавьте в код листа, на котором будут UDF
Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub


"Ничто не приносит людям столько неприятностей, как разум."

Сообщение отредактировал Jhonson - Вторник, 01.11.2011, 14:16
 
Ответить
Сообщение
Quote
не получается, но ближе к истине, так как обновляются все формулы при нажатии ввода в режиме редактирования любой из ячейки с формулой

после того как добавите
Code
Application.Volatile True

еще добавьте в код листа, на котором будут UDF
Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub

Автор - Jhonson
Дата добавления - 01.11.2011 в 14:16
RAN Дата: Вторник, 01.11.2011, 14:17 | Сообщение № 35
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Файл - это хорошо!
Глядишь, через полгода пойму, что надо. surprised


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеФайл - это хорошо!
Глядишь, через полгода пойму, что надо. surprised

Автор - RAN
Дата добавления - 01.11.2011 в 14:17
bygaga Дата: Вторник, 01.11.2011, 14:18 | Сообщение № 36
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (Jhonson)
попробуйте так:

Спасибо Jhonson! все работает!
 
Ответить
Сообщение
Quote (Jhonson)
попробуйте так:

Спасибо Jhonson! все работает!

Автор - bygaga
Дата добавления - 01.11.2011 в 14:18
bygaga Дата: Вторник, 01.11.2011, 14:33 | Сообщение № 37
Группа: Пользователи
Ранг: Форумчанин
Сообщений: 101
Репутация: 0 ±
Замечаний: 0% ±

Excel 2003, 2007
Quote (bygaga)
Глядишь, через полгода пойму, что надо.

там в файле жёлтым цветом обозначены ячейки с названием листов, туда надо вставить формулу Утки_Имя. Например, если в ячейке В12 (лист 7655) есть номер пут-ки найденный формулой "Утки_Альтернатива", то надо чтобы формула Утки_Имя отобразила название листа на котором найден номер путёвки, то есть, создать новый модуль и вместо "Утки_Альтернатива = .Cells(i, 2).Offset (, 6)" нужно вставить Утки_Имя = sh.Name как написал Jhonson
 
Ответить
Сообщение
Quote (bygaga)
Глядишь, через полгода пойму, что надо.

там в файле жёлтым цветом обозначены ячейки с названием листов, туда надо вставить формулу Утки_Имя. Например, если в ячейке В12 (лист 7655) есть номер пут-ки найденный формулой "Утки_Альтернатива", то надо чтобы формула Утки_Имя отобразила название листа на котором найден номер путёвки, то есть, создать новый модуль и вместо "Утки_Альтернатива = .Cells(i, 2).Offset (, 6)" нужно вставить Утки_Имя = sh.Name как написал Jhonson

Автор - bygaga
Дата добавления - 01.11.2011 в 14:33
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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