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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 133 След.
Ввод в ячейку текста "2 24/1" приводит а тому, что в ячейку вводится 26
 
Результат ввода "1/3" зависит от формата ячейки. Если числовой, то будет число, если общий или дата, то будет дата.
Изменено: sokol92 - 21.01.2022 17:14:08
Владимир
Ввод в ячейку текста "2 24/1" приводит а тому, что в ячейку вводится 26
 
Цитата
Михаил Лебедев написал:
никогда такого не было и вот - опять)
Похожие случаи разобраны в этой теме.

Указанный эффект можно получить и макросом:
Код
ActiveCell.FormulaLocal = "2 2/3"
Изменено: sokol92 - 21.01.2022 17:11:06
Владимир
Экспортировать данные из Эксель в markdown-файлы
 
Посмотрите у Игоря на сайте.
Владимир
Ошибка Runtime error 1004 при удалении пробелов
 
Я этот метод (тщательно) изучал достаточно давно, противоречий в этой части с (указанной выше) документацией не находил. Microsoft не меняет поведение методов от версии к версии, даже баги не исправляет.  :)  
Владимир
Ошибка Runtime error 1004 при удалении пробелов
 
Метод Range.Replace "помнит" параметры: LookAt, SearchOrder, MatchCase, MatchByte. Так что в данном конкретном случае вызов метода в #4 составлен корректно.
Изменено: sokol92 - 20.01.2022 13:16:09
Владимир
Не строится сводная таблица на основе ADODB.Recordset при обращении к свойствам EOF и BOF
 
Если и скажется, то в лучшую сторону, поскольку Вам необходимы все записи, возвращаемые SQL-запросом.
Изменено: sokol92 - 19.01.2022 20:16:12
Владимир
Как зафиксировать путь к диапазону в другой книге?
 
Внешняя ссылка уточняется в момент сохранения файла (см. ответ Игоря #4). Excel отдает предпочтение относительному пути. Если Вы сохраняете на другой диск, то, естественно, в ссылке будет указан абсолютный (полный) путь. Если же Вы после этого откроете в Excel файл с ссылкой с полным путем, а затем сохраните его в папку, где лежит файл, к которому относится ссылка, то ссылка опять станет относительной.
Владимир
Как зафиксировать путь к диапазону в другой книге?
 
Цитата
tchack написал:
Добавляю в книге в диспетчере имен диапазон: ='C:\[2.xlsx]Лист1'!$A$1.
Следующее действие в Excel:
2. Файл / Сохранить как. Указываете D:\123\1.xlsx.

Теперь файл будет "правильно" открываться.

Eсли Вы после этого скопируете файл "D:\123\1.xlsx" в любое другое место (и/или измените его имя), то ссылка на файл "2.xlsx" не "испортится".
Изменено: sokol92 - 15.01.2022 18:27:51
Владимир
Не вставляется выпадающий список на защищенном листе (UserInterfaceOnly:=True)
 
Этот вопрос задавался 7 лет назад на stackoverflow.com.  Народ ответил: снимайте защиту с листа и затем вновь устанавливайте (хотя это и не быстро).

В Вашем случае, вероятно, этих сложностей можно избежать простым копированием ячейки:
Код
Range("C" & (therow - 1)).Copy Range("C" & therow)
Изменено: sokol92 - 13.01.2022 17:24:30
Владимир
Обработать текст 13 янв., 07:59:13 как дату, Как помочь екселю такое представление понимать датой или при вставке удалить " .,"
 
Попробуйте так:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rg As Range, cell As Range
  Set rg = Intersect(Target, Range("G9:Z9"))
  If Not rg Is Nothing Then
    Application.EnableEvents = False
    For Each cell In rg.Cells
      cell.FormulaLocal = Replace(cell.FormulaLocal, ".,", "")
      cell.NumberFormat = "dd.mm.yyyy hh:mm"
    Next cell
    Application.EnableEvents = True
  End If
End Sub
Владимир
УФ (Условное Форматирование). Повторяющиеся значения. Ложное срабатывание при значениях, похожих на даты, CF (Conditional Formatting).Format only Unique or Duplicate values. Fake Match when Values looks like Dates
 
Насколько я помню, старая добрая функция СУММПРОИЗВ не подводит в этих случаях. Например, УФ для A1:A25 в исходном примере:
Код
=СУММПРОИЗВ(--($A$1:$A$25=A1))>1
Изменено: sokol92 - 12.01.2022 15:50:59
Владимир
Ручное внесение данных из открытых книг в UserForm и их сохранение
 
Я в #7 заменил строку в Macros1 на

Код
UserSale.Show 0
У меня данные формы заносятся в рабочую книгу при нажатии на "Сохранить запись".
Владимир
Автоматическое многоуровневое отображение формулы, Как отобразить формулу MS Excel по другому?
 
Так коллега МатросНаЗебре уже практически все сделал. Можно еще поиграться с Application.FormulaBarHeight.
Владимир
Сохранение файла с нужным разделителем
 
Макрос не решает проблем, указанных в #10.
Владимир
Формат ячейки для чисел, близких к нулю
 
Цитата
lipun написал:
После вставки модуля макрос не появляется в списке макросов.
Цитата из #16: Вставлять в модуль листа.
Макрос будет автоматически срабатывать при изменении ячеек листа (столбцы A и B). Если нужно изменить формат для ранее введенных значений, то выделите соответствующие ячейки, скопируйте их в буфер обмена и вставьте заново.
Изменено: sokol92 - 10.01.2022 14:35:44
Владимир
Записать имя кнопки в собственной надстройке эксель в 2 строки
 
Укажите так (в \customUI\customUI14.xml):
Код
   label="Заполнить
пустые"
Изменено: sokol92 - 09.01.2022 15:51:56
Владимир
Подбор кодировки для загрузки XML в Power Query
 
Не советую (из личного опыта) работать по ночам. Про XML и VBA (VBS) можно почитать здесь.
Владимир
Подбор кодировки для загрузки XML в Power Query
 
Макросом VBA смена кодировки на utf-8 в Вашем случае делается так:

Option Explicit
Код
Option Explicit

Sub XMLToUtf8(ByVal inFile As String, ByVal outFile As String)
  Dim xmlParser
  Set xmlParser = CreateObject("Msxml2.DOMDocument")
  With xmlParser
    .async = False: .Load inFile: .Save outFile
  End With
End Sub

Sub test()
  XMLToUtf8 "C:\temp\Пример.xml", "C:\temp\Пример2.xml"
End Sub

Изменено: sokol92 - 08.01.2022 19:43:25
Владимир
Проверка корректности даты. IsDate определяет не корректно
 
Если нужно проверить, что текст имеет вид D.M.Y (D и M числа меньшие 100, Y имеет 2 или 4 цифры) и может быть интерпретирован как  дата, то можно воспользоваться следующей функцией, которая не зависит от региональных надстроек.

Код
Function IsDateDDMMYY(arg) As Boolean
  Dim arr, d
  arr = Split(arg, ".")
  If UBound(arr) = 2 Then
    If Len(arr(2)) = 2 Or Len(arr(2)) = 4 Then
      On Error Resume Next
      d = CDate(Right("20" & arr(2), 4) & "-" & arr(1) & "-" & arr(0))
      On Error GoTo 0
      IsDateDDMMYY = Not IsEmpty(d)
    End If
  End If
End Function
Не во всех системах Windows разделителем компонентов даты (день, месяц, год)  является точка, порядок компонентов даты также может быть иным.
Владимир
Замена двух точек формулой
 
Цитата
vikttur написал:
Надежнее, если место "RUB" подставлять "USD"
Лучше всего 5 звездочек KWD.
Изменено: sokol92 - 05.01.2022 18:30:16
Владимир
Замена двух точек формулой
 
Цитата
написал:
достаточно вместо
Здравствуйте, Михаил! Я это уже (давно) освоил, но руки не слушаются.  :)  
Владимир
Замена двух точек формулой
 
или
Код
=--ПОДСТАВИТЬ(ПОДСТАВИТЬ(B1;".";"");"RUB";"")
Изменено: sokol92 - 05.01.2022 18:02:28
Владимир
Vba, сохранение книги после пересчета формул, Надо ли сохранять книгу после пересчета?
 
Есть специальный метод Application.CalculateUntilAsyncQueriesDone, который ожидает завершения асинхронных запросов. После того, как этот метод вернет управлениe, все сводные таблицы и формулы должны быть обновлены.
Изменено: sokol92 - 05.01.2022 17:44:30
Владимир
Заменить полученное значение "0" и "Н/Д" на пусто
 
Андрей, в названии темы нет круглых скобок. "ЕСЛИ" в "ЕСЛИОШИБКА".  :)  
Владимир
Заменить полученное значение "0" и "Н/Д" на пусто
 
Отображение и скрытие нулевых значений.
Владимир
Отобразить сообщение при изменении значения в ячейке
 
Цитата
написал:
В моем случае, в эту ячейку может вноситься одинаковые числа.
Если анализируемая ячейка содержит формулу, то единственное событие листа, которое можно анализировать - окончание пересчета ячеек листа Worksheet.Calculate. Вряд ли получится отловить случай, когда пересчиталось значение именно этой ячейки, причем значение после пересчета не изменилось.
Изменено: sokol92 - 03.01.2022 16:57:18
Владимир
Сохранение файла с нужным разделителем
 
Эта проблематика описана здесь.
Можно соединить два макроса из #9 в один и выводить строки формата csv непосредственно в объект типа ADODB.Stream с кодировкой utf-8 (и никакая дополнительная перекодировка не нужна). В конце макроса можно объект сохранить в файл.
Изменено: sokol92 - 02.01.2022 14:55:06
Владимир
Формат ячейки для чисел, близких к нулю
 
Можно так. Вставлять в модуль листа. В примере форматируются числа в столбцах A:B.
Код
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rg As Range, cell As Range, v, s As String, fmt As String
  Set rg = Me.Range("A:B") ' Указываем диапазон для замены формата ячеек
                           ' Например, столбцы A и B
  Set rg = Application.Intersect(Target, rg)
  If rg Is Nothing Then Exit Sub
  For Each cell In rg.Cells
    v = cell.Value
    If VarType(v) = vbDouble Then '  в ячейке число
      s = Right(Format(v, "0.E+00"), 3)
      If Left(s, 1) = "-" Then
        fmt = "0." & String(Right(s, 2), "0")
      Else
        fmt = "0"
      End If
      
      fmt = "+" & fmt & ";-" & fmt & ";-"  ' отображаем числа со знаком, а ноль как дефис
      If cell.NumberFormat <> fmt Then cell.NumberFormat = fmt
    End If
  Next cell
End Sub
Владимир
Формула РАБДЕНЬ (в моём варианте) признаёт рабочим первое число месяца, если оно попадает на сб или вс
 
Цитата
Luna2903 написал:
Если использовать РАБДЕНЬ.МЕЖД
Можно так же и РАБДЕНЬ.
Владимир
Рассчитать фактор объема и фактор цены
 
Так добавить два столбца, или хотя бы один.  :)

С практической точки зрения расчет без дополнительного столбца будет всё равно не проверяемым...
Бухгалтеров у нас много, а БМВ один.
Изменено: sokol92 - 27.12.2021 17:23:44
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 133 След.
Наверх