Excel

 

Страницы

Аватар пользователя Цыкунов Роман Олегович
Уважаемые, вопрос такого плана по Экселю 2003: включаю на запись макрос, создаю своё пользовательское меню. При попытке выполнить этот макрос (естессно удалив перед этим созданное меню) получаю ошибку Run-time error '5' Invalid procedure call or argument. Вот образец полученного макроса:

Sub Макрос1()

Application.CommandBars("Worksheet Menu Bar").Controls.Add Type:= _

msoControlPopup, Before:=12

{Ошибка начинается вот с этой строки..}

Application.CommandBars("Настраиваемое всплывающее меню4125031").Controls.Add _

Type:=msoControlButton, ID:=2949, Before:=1

End Sub

Помогите пожалуйста, очень надо... Буду благодарен, если подскажете на мой e-mail: rotsadmin@mail.ru

Аватар пользователя Татьяна
Есть 2 Excel-файла с данными.

в одном файле не заполнен столбец с ценами.

Но в другом файле как раз есть все цены, которые так необходимы первой эксельке.

Общее поле у 2-х файлов есть - это артикул.

Как в табличку где нет цен залить те цены которые есть в другом файле, и чтобы они распознались по артикулу?

Аватар пользователя Sens
2 Татьяна

> Как в табличку где нет цен залить те цены которые есть в другом файле, и чтобы они распознались по артикулу?

смотрите функцию VLOOKUP. В русском Excel Функция называется ВПР

http://office.microsoft.com/ru-ru/excel/HP052093351049.aspx

Аватар пользователя Руслан
Пример : Я ввожу артикулы товара в столбец А, с помощью формул "Поиск значения" автоматически вставляются наименования и цены в столбцы В и С. Потом в следующие столбцы ввожу кол-во и дату получения товара. Потом это все суммируется автоматом и потставляются в другую таблицу с помощью тех же формул "Поиск знач" и "Смещ". Т.к. количество артикулов достигает 600, я могу внести один и тот же артикул несколько раз. Использую сортировку и визуально проверяю, где повторяются значения. Очень хочется все упростить, чтобы как-то отображались одинаковые артикулы, хотя бы определялось в другой ячейке что присутствует повтор. Как это сделать? Заранее благодарю за ответ!
Аватар пользователя Sens
2 Руслан:

>Т.к. количество артикулов достигает 600, я могу внести один и тот же артикул несколько раз.

....

>Очень хочется все упростить, чтобы как-то отображались одинаковые артикулы, хотя бы определялось в другой ячейке что присутствует повтор. Как это сделать?

Один из вариантов - использовать условное форматирование.

Допустим диапазон для ввода артикулов анодится в B2:B700.

1) Выделите диапазон B2:B700 и вызовите диалог условного форматирования.

2) Задайте для первого условия в комобокосе значение "Формула" и введите формулу =СЧЕТЕСЛИ($B$2:$B$700;B2)>1.

Здесь $B$2:$B$700 - абсолютный адрес вашего диапазона, а B2 - относительный адрес первой ячейки диапазона.

3) В этом же диалоге задайте форматирование, которе будет применятся

к ячейке, если в заданном диапазоне есть ячейки с таким же значением.

Аватар пользователя Руслан
Большое спасибо для Sens. Все работает. Очень хорошо, что есть такой форум.
Аватар пользователя Елена
Привет! Есть вопрос. Составляю тест: необходимо расставить ответы в приоритетном порядке. Выбор сделала приоритета (числа от 1 до 6) с помощью списка. Необходимо исключить повторение значений. Можно конечно сделать через "если" и перебрать все варианты сравнения, но может кто-то подскажет более оптимальный метод. За ранее благодарна!
Аватар пользователя Sens
2 Елена (торговля):

Елена, посмотрите выше по форуму мой ответ на вопрос Руслана.

Аватар пользователя Елена
Спасибо большое! получилось даже круче, чем хотела!
Аватар пользователя Елена
Еще вопросик: сделала с помощью макроса кнопку перехода к следующему вопросу (переход на следующий лист). Как можно кнопку сделать неактивной, если ответы не соответствуют определенному условию их заполнения. Спасибо!
Аватар пользователя Sens
2 Елена:

У Листа есть событие Worksheet_Change, которое возникает при изменении данных в ячейке на листе. Создайте обработчик для этого события и используйте параметр Target, который будет содержать измененную ячейку.

Private Sub Worksheet_Change(ByVal Target As Range)

MsgBox Target.Value

End Sub

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

Хотя лучше анализировать не измененную ячейку а диапазон ячеек, в кот.содержатся номера ответов.

Аватар пользователя Елена
Да с событием я все поняла спасибо, а я хотела спросить какой собственно коммандой я могу заблокировать или сделать доступной мою кнопку? либо еще чтото сделать с ней ?
Аватар пользователя Sens
2 Елена (торговля):

> а я хотела спросить какой собственно коммандой я могу заблокировать или сделать доступной мою кнопку?

CommandButton1.Enabled = False

где CommandButton1 - имя вашей кнопки.

В режиме дизайна щелкните правой кнопкой мыши на вашей кнопке и выберите меню Properties (Свойства). Появится окошко с доступными свойствами кнопки. Подробную информацию можете посмотреть в справке по VBA набрав для поиска CommandButton. Еще удобное средство для просмотра свойств и методов - Object Browser. Выбрали интересующее, нажади F1 и получили справку.

Аватар пользователя Алексей
как определить являеться ли ячейка формулой или константой, и вывести в другую ячейку Истина, Ложь.
Аватар пользователя Sens
2 Алексей (Єкономика):

> как определить являеться ли ячейка формулой или константой, и вывести в другую ячейку Истина, Ложь.

Добавьте такую функцию в макросы вашей книги:

Function HasFormula(cell)

HasFormula = cell.HasFormula

End Function

После этого функцию можно использовать в ячейках.

Если A1 содержит ваши данные, о в B1 внесите формулу

=HASFORMULA(A1)

Аватар пользователя Юлия Плотникова
Всем привет!

Здорово, что есть такие умные люди. Подскажите, как все-таки посчитать только четные строки в огроменной таблице EXCEL. Ранее было об этом рассказано, но у меня ничё не получается. Я имею ввиду "правда", "ложь". Либо показывает неправильное имя, либо ставит нуль.

Аватар пользователя Алексей
>Добавьте такую функцию в макросы вашей книги:

Function HasFormula(cell)

HasFormula = cell.HasFormula

End Function

После этого функцию можно использовать в ячейках.

Если A1 содержит ваши данные, о в B1 внесите формулу

=HASFORMULA(A1)

Спасибо, все работает.

К сожалению оказалось, что необходимо обнаружение конкретной формулы. В моем случае =ПРОМЕЖУТОЧНЫЕ.ИТОГИ()

можно ли определить наличие конкретной формулы в ячейке?

Аватар пользователя Алексей
>Подскажите, как все-таки посчитать только четные строки в огроменной таблице EXCEL. Ранее было об этом рассказано, но у меня ничё не получается. Я имею ввиду "правда", "ложь". Либо показывает неправильное имя, либо ставит нуль.

я вижу два варианта

1. добавляем в таблицу столбец "Четная строка" и ставим формулу во все ячейки столбца =ОСТАТ(СТРОКА();2)=0

2. используем формулу массива

{=СУММ((ОСТАТ(СТРОКА(диапазон_суммирования);2)=0)*диапазон_суммирования)}

Аватар пользователя Sens
Алексей (Єкономика):

> К сожалению оказалось, что необходимо обнаружение конкретной формулы. В моем случае =ПРОМЕЖУТОЧНЫЕ.ИТОГИ()

> можно ли определить наличие конкретной формулы в ячейке?

Function HasFormula(cell As Range)

HasFormula = UCase(cell.FormulaLocal) = "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ()"

End Function

Дополнительно рекмонендую почитать книгу по VBA или встроенную справку, там достаточно хорошо расписан VBA.

Аватар пользователя Sens
2 Юлия Плотникова (Коммунальное хозяйство):

>Подскажите, как все-таки посчитать только четные строки в огроменной таблице EXCEL.

Если данная функция недоступна или возвращает ошибку #ИМЯ?, установите и загрузите надстройку «Пакет анализа».

Уточните, пожалуйста, что вы хотите получить? Количество нечетных строк или сумму по ячейке только в нечетных строках?

Какие строки вы считаете нечетными, те у которых номер строки - нечетный с начала листа или с начала вашей таблицы?

======

Допустим данные содержатся в ячейкках B2:B10.

1) В C2 внесите формулу =ЕЧЁТН(СТРОКА(B2)) и скопируйте ее в ячейки C3:C10. В результате четные строки будут содержать значение ИСТИНА, а нечетные ЛОЖЬ соответственно.

====

Если функция ЕЧЁТН недоступна или возвращает ошибку #ИМЯ?, установите и загрузите надстройку «Пакет анализа».

===

2) Для подсчета значений четных строк используйте формулу

=СУММЕСЛИ(C2:C10;"ИСТИНА";B2:B10)

для подсчета нечетных

=СУММЕСЛИ(C2:C10;"ЛОЖЬ";B2:B10)

Успехов!

Аватар пользователя Елена
Добрый день!

Для окончания написания теста не хватает несколько элементов. Помогите! 1.Как на кнопку можно установить пароль (после введения пароля возможен переход на следующий лист, где видны результаты теста)и

2.часы (отображаются постоянно и запоминается время прохождение тесте после нажатия "завершить")

Аватар пользователя Алексей
> можно ли определить наличие конкретной формулы в ячейке?

Function HasFormula(cell As Range)

HasFormula = UCase(cell.FormulaLocal) = "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ()"

End Function

-------------------------

Мне больше подошел вариант

Function HasFormula(cell As Range)

HasFormula = UCase(cell.FormulaLocal) Like "=ПРОМЕЖУТОЧНЫЕ.ИТОГИ*"

End Function

Спасибо за помощь!

Аватар пользователя Алексей
есть ли у кого то готовые решения на сумму прописью долларов на английском языке?
Аватар пользователя Алексей
>есть ли у кого то готовые решения на сумму прописью долларов на английском языке?

Уже нашел, если кому надо

http://support.microsoft.com/kb/q213360/

Аватар пользователя Александр
Как слить информацию из двух ячеек в одну, если значения в первой ячейке - строковые, а во второй ячейке - дата. Необходимо, чтобы формат даты сохранился. Зараннее благодарен.
Аватар пользователя Алексей
я отформатировал панель инструментов Єксель. Добавил свои кнопки и привязал к своим же макросам.

Вопрос, как это перенести на другой компьютер? макросы, как я понимаю, можно перенести вместе с файлом Personal.xls , а как перенести панель инструментов?

Аватар пользователя Алексей
>Как слить информацию из двух ячеек в одну, если значения в первой ячейке - строковые, а во второй ячейке - дата.

=C41&ТЕКСТ(D41;"ДД.ММ.ГГГГ")

Аватар пользователя Андрей
Здравствуйте!

Помогите, пожалуйста, решить следующую проблему.

При открытии любого файла в Excel 2003 постоянно появляется окно с Установка компонентов для Microsoft Excel. Жду секунд 10 пока он (они) эти компоненты загрузятся. При следующем открытии файла опять та же история Установка компонентов для Microsoft Excel.

Как установить их раз и навсегда.

Спасибо.

Аватар пользователя shakirova soniya
Как узнать процент от общей суммы в вертикальном положение
Аватар пользователя Алина
Помогите,пожалуйста!При создании отчета по базе данных Access не могу вставить картинку,форму из нее в Word!Подскажите,как это сделать!

Страницы