Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 68 След.
HB
 
Присоединяюсь к замечательной компании! Андрей, Ваши программы не только доставляют эстетическое удовольствие, но и вдохновляют на собственные изыскания. Рад знакомству с Вами, успехов и новых свершений!
Владимир
Как определить номера строк всех выделенных ячеек.
 
Михаил, согласен. Если интересуют только номера строк, то цикл будет быстрее по Selection.Rows
Владимир
Как определить номера строк всех выделенных ячеек.
 
В случае выделения несвязных диапазонов вариант #3 работать не будет.
Владимир
Как определить номера строк всех выделенных ячеек.
 
Код
Sub test()
  Dim c As Range
  For Each c In Selection.Cells
    Debug.Print c.Address
  Next c
End Sub

При выделении ячеек изменяется объект Selection.
Владимир
При открытии существующего файла появляется второе окно
 
Думаю, что это из серии тех эффектов, которые возникают в начальный момент, когда Excel стартует как следствие действия (глагола) "open" файла (книги) или создается как объект из другого приложения. Владимир (ZVI) писал об этом, в том числе, здесь.

Как и в квантовой механике, действует "эффект наблюдателя". При попытке применить, например, оператор Stop, эффект пропадает. :)  
Владимир
При открытии существующего файла появляется второе окно
 
Проще всего отключить эту надстройку и включать по необходимости.
В наших приложениях корпоративная система создает объект Excel и вызывает (нашу) надстройку, которая, в свою очередь, генерирует выходные формы. По окончанию работы кроме выходных форм остается "лишнее" окно, такое, как в #1. Вроде бы, никому не мешает.
Владимир
При открытии существующего файла появляется второе окно
 
Юрий, попробуйте временно отключить надстройки.  Эффект пропадает?
Владимир
При открытии существующего файла появляется второе окно
 
Правильно ли я понял последовательность действий из #1:
1. Открываем Excel. Закрываем новую книгу. Одна кнопка на панели задач, никаких проектов в VBE нет
2. Открываем из Excel существующую книгу. Две кнопки на панели задач, один проект.
Владимир
Объект RegExp. Использовать один или два? Плюсы и минусы.
 
Здравствуйте, коллеги! Еще пример аналогичной техники (удобно при использовании примеров разработчика).
Код
Option Explicit

Public Function fso() As Object
    Static oFso As Object
    If oFso Is Nothing Then
        Set oFso = CreateObject("Scripting.FileSystemObject")
    End If
    Set fso = oFso
End Function

' Пример от разработчика
Function ShowFolderSize(filespec)
    Dim f As Object, s
    Set f = fso.GetFolder(filespec)
    s = UCase(f.Name) & " uses " & f.Size & " bytes."
    ShowFolderSize = s
End Function

Один экземпляр объекта на всё время работы. Сохраняет работоспособность после сброса проекта.
Владимир
Убрать пробелы в именах листов в Excel
 
Сам такой. Плюс уже лет 25 не могу запомнить суффиксы для типизированных переменных в VBA.
Владимир
Убрать пробелы в именах листов в Excel
 
Здравствуйте, Михаил! 1 строка - это предел :(  
Владимир
Как с помощью VBA добавить в ячейку текст с сохранением существуещего форматирования текста внутри ячейки?
 
Цитата
AnSo написал:
после вставки целевая ячейка исключается из диапазона(ов) правил условного форматирования
Да, похоже, при любом присвоении свойства value ячейки с параметром xlRangeValueXMLSpreadsheet эта ячейка исключается из всех диапазонов действия правил условного форматирования.
Возможно, Вы - первооткрыватель этого эффекта.
Спасибо за интересную тему!
Владимир
Соединение двух таблиц с повторяющимся значениями
 
Принцип Дирихле - Мершика  :)  
Владимир
Создание базы данных запчастей в Excel
 
Приложение к ответу Михаила.
Изменено: sokol92 - 18 Окт 2019 14:17:40
Владимир
Почему не число при извлечении значения из текста
 
Цитата
Ігор Гончаренко написал:
описаны только на этом форуме не один десяток раз
Рекомендую начать с этого и далее в той же теме. Полезно не только для начинающих.
И, кстати, в отличие от языка формул Excel в VBA 1="1"
Изменено: sokol92 - 17 Окт 2019 15:20:45
Владимир
При копировании меняется формат ячеек
 
Приведите пример, когда не срабатывает - хотя бы пару ячеек.
Владимир
При копировании меняется формат ячеек
 
Так Вы сами ответили на вопрос в файле "Должно быть". Меняете формат всех ячеек на текстовый, вставляте текст из блокнота, меняете (если нужно) формат всех ячеек на на общий.
Владимир
Восстановление связи с Ribbon
 
Цитата
despot69 написал:
посмотрите на скиншоты, вы не поняли о чем я пишу
Надеюсь, что понял. Если открыть книгу на любом компьютере с Excel 2016(64), добавить в нее модуль, отображенный в первой картинке #10, задать переменную условной компиляции
Код
VBA7 = 0
то при компиляции мы получим точно такую же "картинку", как в #10.
Владимир
Восстановление связи с Ribbon
 
Уважаемый despot69, коллега! Этот форум читают тысячи пользователей, не вводите их в заблуждение! Конструкция, приведенная Вами в #10, корректно компилируется на любых конфигурациях Excel, она многократно упоминается разработчиком в документации.
Сообщение об ошибке на экране свидетельствует о неправильной установке у Вас MS Office - не определена переменная условной компиляции VBA7. Вы можете в этом сами убедиться. Зайдите в VBE Tools/VBAProject Properties и в окне "Conditional Compilation Arguments:" введите
Код
VBA7 = 1
Компиляция пройдет успешно.
Изменено: sokol92 - 15 Окт 2019 15:34:05
Владимир
Как с помощью VBA добавить в ячейку текст с сохранением существуещего форматирования текста внутри ячейки?
 
Цитата
БМВ написал:
спасибо тем кто этому и меня научил, см  ссылку из #8
Плюс "первоисточник"
Владимир
Как с помощью VBA добавить в ячейку текст с сохранением существуещего форматирования текста внутри ячейки?
 
Excel вообще крайне нестабильно работает с форматированием отдельных символов ячейки - об этом были темы на форуме.
Метод Characters.Insert, похоже, имеет указанное в #15 ограничение по длине результата в 255 символов (не он один).
Если открыть новую книгу и выполнить следующий макрос:
Код
Sub test()
  ActiveCell.Value = String(300, "a")
  ActiveCell.Characters(1, 0).Insert "Дополнительный текст"
End Sub

то возникает ошибка "Метод Insert из класса Characters завершен неверно".

Если в книге произвести какое-нибудь форматирование отдельных символов, то указанный выше макрос уже не вызывает ошибку, но и не вставляет символы (как также указано в #15).
Явная ошибка Excel. Тестировалось на конфигурации: Win 10 Excel 2016(32-, ru)
Изменено: sokol92 - 15 Окт 2019 13:44:00
Владимир
Макрос для срытия формул
 
У Вас сильно завышен объем файла из-за множества неиспользуемых стилей. Следующий макрос уберет ненужные стили (может выполняться несколько минут):
Код
Sub DeleteStyles()
  Dim s As Style
  For Each s In ActiveWorkbook.Styles
    If Not s.BuiltIn Then
     s.Delete
    End If
  Next s
End Sub

Что касается формул, то при численности до нескольких сотен сотрудников тормозов не должно быть.
Следите, чтобы на листе Time были только данные, относящиеся к текущему месяцу.
Владимир
Зеркально отразить второй массив двоичных данных от первого
 
Можно посчитать определитель матрицы. Если он нечетный, то матрица невырождена (в поле из 2 элементов GF(2))  и есть единственное решение. Если четный, то множество решений.
Владимир
Зеркально отразить второй массив двоичных данных от первого
 
У Вас каждый элемент второго массива равен сумме трех элементов первого массива по модулю 2. По сути нужно решить систему линейных уравнений 32x32 в поле из 2 элементов. У этой задачи точно есть простое решение?
Владимир
Как в VBA сравнить текущее время с определенным.
 
Цитата
One6 написал:
Все равно не работает
Не берите плохой пример с локализаторов Excel - пишите имена функций и переменных латынью.
Кроме того, всегда используйте Option Explicit. Обратите также внимание на форму записи Application.Ontime

Код
Option Explicit
Sub Macro1()
    Dim iLastRow As Long
    iLastRow = Cells(Rows.Count, 2).End(xlUp).Row
    Cells(iLastRow + 1, 2).Select
    ActiveCell.FormulaR1C1 = "1"
    Application.Run "Macro2"
End Sub
Sub Macro2()
    Dim TimeToRun
    If Time < TimeValue("19:44:00") Then
        MsgBox "СТОП"
    Else
        TimeToRun = Now + TimeValue("00:00:15")
        Application.OnTime TimeToRun, ThisWorkbook.Name & "!Macro1"
    End If
End Sub

Для МОДЕРАТОРОВ. Тема: Как в VBA сравнить текущее время с определенным.
Владимир
Склеивание формулы в VBA из адресов RANGE
 
Посмотрите описание свойства Range.Address
Владимир
Из названия месяца в формат даты
 
Осмелюсь уточнить ограничение в ответе #5 Михаила. Кодовая страница Windows по умолчанию должна быть 1251.
Владимир
Как в VBA сравнить текущее время с определенным.
 
Функция VBA Now возвращает текущую дату и время, функция Time - только время.
Код
If Time < TimeValue("22:31:00") Then
Владимир
Поместить все согласные буквы в одну ячейку
 
Дошкольный портал (о букве й) .  :)  
Изменено: sokol92 - 13 Окт 2019 19:35:47
Владимир
ячейки с зада :), и такое бывает
 
Цитата
Поймите и меня. Вернитесь, приведите сообщение в нормальный вид. Зачем бездумное копирование?

Крик души младенца (и сообщение 40 000)
Владимир
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 68 След.
Наверх