PDA

Показать полную графическую версию : [архив] Microsoft Excel


Страниц : 1 2 3 4 5 6 7 8 9 10 11 [12] 13 14 15 16 17 18

Vovchick1
25-09-2005, 20:48
Пардон (фулдить не хотел)!!!:shuffle:

Greyman
26-09-2005, 09:59
Mike LКакой формулой или макросом можно сравнить эти 2 списка чтобы Exel выдал 5 строк, которых нет в первом списке.Т. е. предполагается, что все значения меньшего списка обязательно присутствуют в большем? А случай, когда большом списке присутствуют не все значения из малого, не рассматривается? Ведь тогда результат должен выдать больше чем 5-ть значений... Также не очень понятно предусматривается ли вариант, когда в одном из списке (или обоих) есть несколько одинаковых строк...

Макросы действительно часто писать проще, но формулы бывают полезнее. По крайней мере я стараюсь решать задачи максимально с применением формул (когда есть достаточно времени на их написание). В твоем случае цель делиться на 2-е подзадачи:
1) Получение одного идентификатора для нескольких значений столбцов в каждом из списков.
2) взаимный поиск идентификаторов в списках.

1. Первая задача может решаться с использованием следующей формулы:
=СЦЕПИТЬ(ТЕКСТ(D4;"####");+ТЕКСТ(E4;"####"))
Здест сцепляются вместе 2-ва тектовых значения, если значение числовое, то оно предварительно переводиться в текстовое в соответствии с форматом ячеек (для дробных значений, процентов, дат и т.п. формат может меняться)... Размножая и коккректируя значения столбцов тв получаешь 2-а столбца с идентификаторами значений твоих списков (первый список у меня в столбце "J", второй - в "K").

2. Далее сравнение делается простой формулой вида:
=ПОИСКПОЗ(J4;K$4:K$13;0),
для поиска строк из первого списка во втором

и вида:
=ПОИСКПОЗ(K4;J$4:J$13;0),
для поиска строк из второго списка в первом.

Значения типа "Н/Д" показывают неповторимые строки, в ином случае показывается индек ее первого появления в другом списке.

Сортировка данных при этом методе также не требуется...

segvan
04-10-2005, 18:42
Помогите, пожалуйста.
Я когда нажимаю на стрелки (клавиши такие), то вместо того, чтобы двигался курсор (черная рамка вокруг ячейки), двигается весь лист, а курсор стоит на месте.
Я предполагаю, что это настройка, но я не могу ее найти.

Murrey
05-10-2005, 07:17
scroll lock нажми

segvan
05-10-2005, 10:18
Спасибо. Я этого просто не знал. Спасибо еще раз.

Neu-iskatell
05-10-2005, 11:21
Есть проблема связанная с использованием ActiveX компонентов в Exel
Мне необходимо вставить в первую ичейку строки выпадающее меню с тремя пунктами и в зависимости от выбранного пункта изменять содержимое остальных ичеек в данной строке.

С самим процесом вставки элемента в ичейку нет проблем, а вот дальше VB с которым я никогда не сталкивался.

Возможно я много прошу - то есть тескт подобного VB макроса но может кто все же не сочтет трудом поделиться своей похожей наработкой.

Буду бесконечно признателен за помощь в данном вопросе.

С Уважением Iskatell

Murrey
05-10-2005, 11:46
Пожалуйста. Я сам этого когда-то не знал. Целый день психовал, не знал, что делать, пока умного человека не поймал :)

APOSTOL
06-10-2005, 22:39
В жисть бы не догадался. А кстати, scroll lock при перезагрузке не сбрасывается что-ли ?

Neu-iskatell
07-10-2005, 10:44
То ли этот форум обленился то ли действительно никто не знает VB а я то думал это распостраненный.

Vadikan
07-10-2005, 11:17
то ли действительно никто не знает VBМогу перенести в Программирование.

aESThete
07-10-2005, 11:29
Neu-iskatellТо ли этот форум обленился то ли действительно никто не знает VB а я то думал это распостраненный.Возможно, это из-за не совсем корректной/полной постановки вопроса и заголовка темы.
В какой версии Excel'a? Какой именно элемент вставляете? Как именно вам нужно изменять ячейки?
Возможно я много прошу - то есть тескт подобного VB макроса но может кто все же не сочтет трудом поделиться своей похожей наработкой.Наработок нет. А вот сваять что-нибудь можно попробовать.

Vadikan
Тоже дело.

Neu-iskatell
07-10-2005, 12:07
Exel 2002, выподающее меню содержащее 3 пункта. Действие рапостроняется на две соседние строки и заключается в подстановке значений в ячейки этих строк. Еще важен тот момент что бы можно было копировать это конструкцию любое кол-во раз на одном листе.

Neu-iskatell
07-10-2005, 12:11
Vadikan aESThete Да не стоит переносить. Я там тоже оставил подобное сообщение но пока без результата. А вообще я уже давно на этом форуме просто пароль от старых ников забыл и ящики сменил. И форум этот всегда казался мне самым динамичным из подобных. Так что я не со зла про ленность. Беру свои слова обратно :-)

aESThete
07-10-2005, 12:31
Или я туплю... или офис у меня тупит: не вижу в "Элементах управления" "выпадающего меню", поле со списком есть, список есть... Кулверстукаса нет.
Есть возможность файлик таблицы или скриншот прицепить или мне намылить?

Честно говоря, в "Программировании" ветку видел, но не зашел, т.к. думал, там проблема посерьезнее (заголовок "ActeveX in Exel 2002", в ActiveX я не разбираюсь, предпросмотр первого поста не работает, чего мне там делать?..).

Vadikan
07-10-2005, 12:39
Neu-iskatellЯ там тоже оставил подобное сообщение но пока без результата.Напрасно, теперь ветку в Программировании придется убить, т.к. кросс-постинг запрещен правилами. На самом деле, лучше поискать, чем по две темы создавать.

Например, google.com по запросу excel drop down lists выдает массу ссылок, 4я из которых Excel -- Data Validation -- Create Dependent Lists (http://www.contextures.com/xlDataVal02.html) соотв. моему пониманию поставленной задачи. По остальным ссылкам даже не ходил...

Neu-iskatell
07-10-2005, 13:56
aESThete Эт я виноват - правильное название "Поле со списком"

aESThete
07-10-2005, 16:22
Neu-iskatell
Попробовал вставить поле со списком как элемент управления.
Вот например такой обработчик (меняет ячейку R5C5):
Private Sub ComboBox1_Change()
With ComboBox1
If .Value = "111" Then
Cells(5, 5).Value = "1"
ElseIf .Value = "222" Then
Cells(5, 5).Value = "2"
ElseIf .Value = "333" Then
Cells(5, 5).Value = "3"
ElseIf .Value = "444" Then
Cells(5, 5).Value = "4"
End If
End With
End Sub
Ну, другие по аналогии.
Два Оооочень больших минуса
1) нет привязки к конкретной ячейке, соответственно нельзя менять значения относительно данного элемента, соответственно см.п.2.
2) при копировании элемента управления надо копировать и переделывать соответствующий обработчик. Да и не накопируешься (один раз, два, потом достанет :))

По ссылке Vadikan'а интереснее: предлагают привязываться к Validation свойству ячейки и обрабатывать по событию WorkSheet_SelectionChange. Простор для творчества офигительный, но писать долго (я не силен в VBA).
На выходных поковыряюсь, если время будет.

Еще предложение: переименуй тему (или попроси модераторов) в более удобоваримую. Ну например "Microsoft Excel: Обработка поля со списком".
А в "программировании" эту же тему можно вообще грохнуть.

PS to Vadikan
Там все по ангельски, с трудом разобрался, но ссылка хорошая. Спасибо. Много нового узнал.
И еще - может на самом деле в "программирование" перенести?

Vadikan
08-10-2005, 09:32
aESTheteТам все по ангельски, с трудом разобралсяКартинки зато есть :)

PrianikOV
25-11-2005, 10:30
Подскажите, что делать - в Excel при копировании постоянно выскакивает окошко: "Ошибка буфера обмена". А на рабочем столе не перетаскиваются значки.

Greyman
25-11-2005, 11:29
Какие у тебя из программ в фоне висят? Возможно что-то из них мешает...




© OSzone.net 2001-2012