Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Сумма всех разностей соседних чисел в столбце попарно, если они идут не подряд, а с пропусками
 
Здравствуйте. Можно ли сделать это формулой, желательно без дополнительных столбцов? Заготовку прикладываю.
Число прописью на украинском
 
Здравствуйте. В файле число переводится в текст на украинском с помощью формулы и имен в Ctrl+F3.
Авторство Михаила Ч, дальнейшие правки внесены на форуме: http://www.excelworld.ru/forum/2-16309-1). Все работает отлично. Ввиду сложности формулы не могу понять как внести правку, чтобы:

если число целое, то подставлялся бы текст как и сейчас, но ноль в разрядах десятых долей интерпретировался бы как "нуль десятих".

Например, сейчас число 121 переводится как "сто двадцять один", а нужно "сто двадцять одна ціла і нуль десятих".
Причем 121,1 уже выдает "сто двадцять одна ціла і одна десята". А вот ноль в целых числах игнорирует.
Изменено: Евгений Васильев - 04.07.2018 00:09:10
Иероглифы в диаграмме
 
Здравствуйте. Есть простейшая диаграмма: первый столбец - дата (формат dd.mmmm.yyyy), второй - числа. При построении диаграммы (обычной с областями), ось подписей дат превращается в иероглифы и сохранение документа становится невозможным (при попытке сохранения сообщение "Обнаружены ошибки при сохранении... и далее путь к файлу....  Возможно приложению Microsoft Excel удасться сохранить этот файл....""). При изменении формата данных на dd.mm.yyyy - все работает, и подпись осей и сохранение. Началось это недавно, возможно после последнего обновления. Иероглифы появляются в случае формата данных "Дата", но не со всеми форматами (короткий формат работает).

Windows 10 x64 1803 (17134.137), Excel 2016 x86 16.0.4639.1000.
Excel 2007 открывает этот файл нормально. Пробовал запускать Excel  2016 в безопасном режиме (без надстроек) - поведение то же (иероглифы есть и сохранение невозможно).

Никто не сталкивался, в чем может быть дело?

Приложил файл с кратким форматом даты. С длинным форматом иероглифы и не сохраняется (см скриншот).
Изменено: Евгений Васильев - 01.07.2018 23:48:14
Неправильно работает "СЧЁТЕСЛИ": счет 15+значных чисел
 
Здравствуйте. Столкнулся с неработающим "СЧЁТЕСЛИ". Пытаюсь узнать факт вхождения/ не вхождения элементов одного списка в другой. СЧЁТЕСЛИ выдает неверный результат - элемента во втором списке нет, а результат вычисления формулы показывает, что он есть. Проверка с помощью "ВПР" подтверждает это. В файле желтым выделены неправильные результаты расчета "СЧЁТЕСЛИ". Посмотрите, пожалуйста, в чем может быть дело.
VBA раскрывающийся список (данные на разных листах)
 
Здравствуйте.  
 
Есть 2 листа: "Бланк" и "Дані". Код вставлен в лист "Дані". Я пытаюсь определить последнюю заполненную ячейку в столбце AX на листе "Бланк" (отслеживается изменения диапазона) и передать этот диапазон раскрывающемуся списку на листе "Бланк".  
 
Выдает ошибку: "Run-time error '1004': Компонент с указанным именем не найден".  
Вот строчки кода:  
 
'определение последней заполненной ячейки в столбце AX  
Set y = Sheets("Бланк").Columns("AX").Find("*", [AX1], searchdirection:=xlPrevious)
 
'передача диапазона раскрывающемуся списку  
Sheets("Бланк").Shapes("Раскр. список 2").ControlFormat.ListFillRange = "=Бланк!" & Range([AX2], y).Address
Проверка данных
 
Здравствуйте.  
 
Задаю проверку данных для диапазона формулой. При ручном вводе неверных данных все работает, но если неправильные данные вставлять в проверяемый диапазон из буфера обмена, то проверка данных не ругается и дает их вставить.  
 
Это не побороть, только макрос? (Эксель 2010).
Условное форматирование дубликатов без доп. столбца
 
Здравствуйте. В приемах читал про выделение дубликатов условным форматированием, но как быть, если нужно отслеживать данные сразу в нескольких столбцах? С дополнительным столбцом, используя конкатенацию, в принципе, работает. Можно ли обойтись без него? Пример в файле.
VBA нахождение номера последней строки, содержащей текст
 
Здравствуйте.  
Есть такой кусочек кода:  
 
Dim x As Long  
x = Columns("A").Find("*", [A1], SearchDirection:=xlPrevious).Row
 
Он находит номер последней заполненной строки в столбце А. Но как быть, если, например, столбец А с 1 по 200 строки содержит формулы, извлекающие значения, и выдающие "" (пусто) в случае отсутствия таковых. То есть с 1 по 50 строку в столбце А есть значения в ячейках, а с 51 по 200 их нет, но в ячейках есть формулы, и вышеприведенный код выдает именно 200 строку, а хотелось бы 50. Надеюсь внятно описал.  
 
Как этого можно добиться?
Назначение переменных в модуле листа
 
Здравствуйте.  
 
Я назначаю переменную в модуле листа (Dim t1 As String), но когда пытаюсь использовать ее из другого модуля (не модуля листа) , то ее значение "empty"/  
 
Как назначить переменную, чтобы ее значение могло быть использовано из любого модуля?
VBA не работает код в модуле листа
 
Здравствуйте.  
есть 2 листа: "Дис" и "Ст". Есть код расширенного фильтра:  
 
Range("Дис!A4:H3000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _  
"Дис!I1:I2"), CopyToRange:=Range("Дис!K50:P150"), Unique:=False  
 
Когда код в своем отдельном модуле, все работает. Я пытаюсь сделать так, чтобы код запускался при активации листа "Ст" и брал с этого же листа критерий отбора для фильтра. Записываю код в модуль листа "Ст":  
 
Private Sub Worksheet_Activate()  
Range("Дис!A4:H3000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _  
"Ст!B1:B2"), CopyToRange:=Range("Дис!K50:P150"), Unique:=False  
End Sub  
 
Но при активации листа "Ст" Эксель выдает ошибку 1004.  
 
Как правильно записать код?
Расширенный фильтр
 
Здравствуйте.  
Есть такие строчки кода:  
 
Range("Дис!A4:H3000").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _  
"Дис!I1:I2"), CopyToRange:=Range("Дис!K4:P23"), Unique:=False  
 
Если размер отфильтрованного больше назначенного диапазона для вывода (Дис!K4:P23), то Excel выводит предупреждение: "Интервал назначения недостаточно велик для размещения всех копируемых строк. Данные, выходящие за диапазон, будут потеряны. Продолжить копирование?". Если ответить "Да", то всё равно выводятся все данные, даже выходящие за диапаон, затирая при этом находящиеся ниже формулы.  
 
Как сделать так, чтобы данные выводились тольку в пределах указанного диапазона, не затрагивая строки ниже его?
Вопрос формулистам (избавиться от ДВССЫЛ() )
 
Здравствуйте.  
 
То что мне нужно, я сделал, но при этом используется функция ДВССЫЛ().  
Посмотрите, пожалуйста, можно ли сделать то же самое, но без летучей ДВССЫЛ()?  
 
Есть 2 листа: "Оцінки" и "Вибірка". На листе "Оцінки" представлен перечень предметов, сколько часов каждый из них читается, вид контроля и оценки студентов по предметам. На лист "Вибірка" выводятся данные для студента, номер которого указан в ячейке F1 (именованый диапазон "Номер_студента").  
 
Вся загвоздка в том, что на лист "Вибірка" нужно вывести только тот список предметов, для которых у студента есть оценки.  
 
Файл в формате Excel 2007.
Расположение определенного количества строк на листе
 
Здравтвуйте. Может кто сталкивался с подобным, хотя Excel для заполнения бланков и не очень подходит...  
 
Существует бланк (приложение к диплому со списком дисциплин и оценок). На нем для размещения названий дисциплин и оценок отведено фиксированное количество строк и 3 столбца. В приложенном файле (формат 2007 экселя) показано, каким образом я формирую этот список.  
 
Проблема вот в чем: так как встречаются длинные названия дисциплин, то (при выключенном переносе текста) они не помещаются в ячейку, а при включенном переносе текста они становятся 2-строчными, выстоа ячейки изменяется, все ползет и текст не умещается на одну страницу. Приходится уменьшать шрифт и играться с автоподбором высоты ячеек.  
 
Как организовать перенос данных в следующий столбец, если оны выходят за лимит строк? или может по другому реализовать вывод названий дисциплин и оценок?  
 
Хотелось бы услышать ваше мнение и любые мысли и советы по этому поводу.
Excel 2010 неактивны некоторые компоненты из элементов управления формы
 
Подскажите, пожалуйста, из-за чего могут быть неактивны некоторые компоненты из элементов управления формы, а именно: поле, поле со списком и поле с раскрывающимся списком. Все остальные (в т.ч. и все элементы ActiveX) активны. Уже и офис переустанавливал, не помогло...
Связанные ячейки в разных документах
 
Есть 2 файла: "Исходник" и "Бланк". В файле "Исходник" находятся данные на студентов. В файл "Бланк" из файла "Исходник" тянутся данные, которые соответствуют определенному критерию (только те студенты, ФИО которых перечислены в первой строке листа "Оцінки" файла "Бланк").  
 
Сложность в том, что в файле "Исходник" данные представлены с избытком.  
 
Как определить, какие данные не были взяты из файла "Исходник" в файл "Бланк"? (Можно сверять и глазами, но файлов "Бланк" штук 15, а данные на семьсот студентов).  
 
Файлы Офиса 2007.
VBA Работа с остальными листами книги из модуля первого листа
 
Помогите разобраться.  
 
Макрос записан в модуль листа "Основний" и оперирует листами "Сторона 1" и "Студенти". Все работает до первой черты и после второй. Все, что между ними, выполняется для листа, "Основний", в модуле которого записан код, хотя ведь в макросе указано, что выделяется лист "Студенти".  
 
Как подправить код?  
 
Private Sub Worksheet_Change(ByVal Target As Range)  
Dim t1 As String  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("B4")) Is Nothing Then  
   t1 = Right(WorksheetFunction.text(Range("Дата_додатку"), "DD.MM.YYYY"), 2) & """"  
   Worksheets("Сторона 1").Range("A35").NumberFormat = "General""/" & t1  
     
   _____________________________________  
   Worksheets("Студенти").Select 'Выделение листа  
   Range("M2").Select 'Выделение ячейки  
   Range(Selection, Selection.End(xlDown)).Select 'Распространение выделения до последней заполненной ячейки в столбце  
   Selection.NumberFormat = "General""/" & t1 'Применение формата ячейки к выделенным ячейкам  
   _____________________________________  
     
   Worksheets("Основний").Select  
   Range("B4").Select  
End If  
End Sub
VBA изменить формат ячейки с помощью переменной
 
В тексте макроса создается переменная t1 (текстовый формат), вычисляется ее значение.  
Далее пытаюсь изменить формат ячейки на: Основной"/значение_переменной_t1". Прописываю в коде следующее:  
 
Selection.NumberFormat = "General""/" & "t1""".  
 
Но в результате в формат прописывается не значение переменной, а ее название. Если записать в строку формулы t1 без кавычек, выдает ошибку синтаксиса.  
 
Подскажите, пожалуйста, где ошибка.
Excel vs Access
 
Какой вид задач обработки данных возможен только в Access? Или все обусловлено только удобством ввода и обработки данных (то есть в Excel можно сделать то же самое, но с большими трудозатратами)?
Формула для выпадающего списка (игнорирует пустые значения)
 
На форуме нашел формулу, которая позволяет задать диапазон значений для выпадающего списка с запасом, но выводить только непустые значения:  
=СМЕЩ(Лист1!$B$2;;;(СУММ(ЕСЛИ(Лист1!$B$2:$B$500<>"";1))))  
 
В наборе данных присутствует значение "0" (ноль), которое получается ранее в результате работы макроса, но в выпадающем списке присутствовать не должно.  
 
Можно ли видоизменить формулу, чтобы она отбрасывала не только пустые, но и нулевые значения?
Вопрос по синтаксису VBA (работа с адресами ячеек)
 
В макросе есть строка, которая находит адрес последней заполненной ячейки в столбце:  
Set y = .Columns("AA").Find("*", .[AA1], searchdirection:=xlPrevious)
 
Как получить адрес на одну ячейку выше? Например, если макрос выдал ячейку "B150", как мне затем присвоить переменной "y" значение "B149"?
Выделить ячейки с зависимостями
 
Не знаю, нужен ли пример.  
Смысл таков - есть 2 связанных файла: 1-й (исходный) и 2-й (берущий данные из исходного с помощью ВПР()). Во 2-й файл попадают только некоторые данные из 1-го. Возможно ли установить, какие данные не попали из 1-го файла во 2-й?
Какая из формул работает быстрее
 
Первая:  
=ВПР(ИНДЕКС($B$1:$K$1;СТРОКА(A1));$O$2:$P$11;2;0)  
 
Вторая:  
=ВПР(ДВССЫЛ("R1C"&СТРОКА(A1)+1;0);$O$2:$P$11;2;0)
Почему не работает ПОИСКПОЗ()?
 
В диапазоне A1:A10 находятся данные. Ячейка A5 пуста. Почему формула =ПОИСКПОЗ("";A1:A10;0) выдает ошибку #Н/Д, а не значение "5"?
Вопрос по ВПР и автозаполнению
 
Вопрос в файле
Указать диапазон с помощью переменной (не VBA)
 
Как указать диапазон с помощью переменной в формуле? Например, в формуле должна быть ссылка на диапазон "B18". Как это записать в формуле, если 18 - это значение переменной "n"?  
 
И можно ли сделать то же, если в переменной не номер строки, а номер столбца? Например, сослаться на ту же ячейку "B18", если номер строки "18" - это константа, а номер столбца указан в переменной (столбец "B" - второй (n=2), "C" - третий (n=3) и т.д.).
Вопрос по связке ИНДЕКС(ПОИСКПОЗ())
 
Вопрос с примером в файле.
Долго отрабатывает макрос
 
Здравствуйте.  
Посмотрите, пожалуйста, на текст макроса, в чем может быть причина его долгого выполнения.  
 
В файле просматривается столбец на наличие определенных символов и, в случае их наличия, вставляется строка, в которой дублируется информация строки с символом, который ищем. В файле таких строк 144 (общее количество строк 1017).  
 
Смущает то, что время выполнения макроса составляет целых 25 секунд на сравнительмо мощной машинке (Win7, Excel 2010, PentiumDualCore E2220 (2.4 GHz)). Можно ли уменьшить это время?  
 
Sub macros()  
Application.ScreenUpdating = False  
Dim Lr&, i&  
Lr = [A1].End(xlDown).Row
For i = Lr To 2 Step -1  
If Cells(i, 9).Value = "П" Or Cells(i, 9).Value = "Р" Then  
Rows(i).Copy  
Rows(i + 1).Insert Shift:=xlDown  
Cells(i + 1, 7).ClearContents  
Cells(i + 1, 8).Value = Cells(i + 1, 9).Value  
Cells(i + 1, 9).ClearContents  
End If  
Next  
End Sub
Выполнение макроса при условии нажатия определенных клавиш
 
Можно ли сделать так, чтобы макрос (после его вызова) не начинал выполнение, пока не нажмется определенное сочетание клавиш, например "a+s+d"?
Макрос сортировки на всех листах книги
 
Посмотрите, пожалуйста, текст макроса. Он работает, просто я его собрал из нескольких кусков кода, который ранее написали участники форума, помогая в решении разнообразных проблем. Сам почти не разбираюсь в ВБА, поэтому прошу указать на несуразности.  
 
Макрос осуществляет двухуровневую сортировку (сначала по столбцу "Е", затем по столбцу "К") на всех листах книги по убыванию с учетом присутствия заголовков.  
 
Sub Сортировка()  
Dim ws As Worksheet, lRow As Long, lClm As Long  
For Each ws In Worksheets  
With ws.UsedRange  
       lRow = .Row + .Rows.Count - 1  
       lClm = .Column + .Columns.Count - 1  
End With  
Cells.Select  
ws.Sort.SortFields.Clear  
ws.Sort.SortFields.Add Key:=ws.Range("E2", ws.Cells(ws.Rows.Count, "E").End(xlUp)), _  
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal  
ws.Sort.SortFields.Add Key:=ws.Range("K2", ws.Cells(ws.Rows.Count, "K").End(xlUp)), _  
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal  
   With ws.Sort  
       .SetRange Range(Cells(1, 1), Cells(lRow, lClm))  
       .Header = xlYes  
       .MatchCase = False  
       .Orientation = xlTopToBottom  
       .SortMethod = xlPinYin  
       .Apply  
   End With  
   Next  
End Sub
Макрос, добавляющий к содержимому ячейки текст в зависимости от значений в других ячейках
 
Есть книга с несколькими листами. На каждом листе есть набор дисциплин (столбец "НАЗВА ДИСЦИПЛІНИ") с указанием вида контроля - курсовой проект или работа (Буквы "П" или "Р" в столбце "К.Р. / К.П.").  
 
Как сделать так, чтобы при наличии в соответствующей строке для предмета (столбец "E") буквы "Р" (в столбце "L"), к названию предмета дописывался текст: "Курсова робота з дисципліни: ", а при наличии буквы "П" - текст: "Курсовий проект з дисципліни: ".  
 
Файл во вложении.
Страницы: 1 2 След.
Наверх