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

Страницы: 1
Вставка символа в ячейку
 
Доброго времени суток, подскажите как можно вставить символ "÷". Необходимо, чтобы переменная в ячейке выглядела как 8÷10. Спасибо!
ввод значения в userform
 
Доброго времени суток уважаемые форумчане!  Создал пользовательскую форму в TextBox1 ввожу данные в целевую ячейку выводится значение. Возник вопрос, а если в целевой ячейке есть данные, как сделать чтобы в TextBox1 выводилось это значение? Спасибо за помощь.
Определение диапазона объединенной ячейки.
 
Доброго времени суток уважаемые Знатоки! Подскажите, как можно определить начало строки и окончание объединенной ячейки. Объединенные ячейки образуются случайно. (Интересуют ячейки на границах листа). Файл пример прилагаю, интересует 33 строка, как вариант. В дальнейшем необходимо подогнать границы листа. Спасибо за любую помощь!
Установка границ страниц страниц в листе по условию
 
Доброго времени суток уважаемые знатоки! Подскажите пожалуйста, как можно сместить границы печати страницы в листе, изначально определенные Excel по условию? Файл пример прилагаю. В зависимости от вида объединения ячеек (по вертикали или горизонтали) выставить границы печати. Если ячейка объединена по горизонтали, она не может быть последней строкой страницы. Если по вертикали, то все три строки должны быть на одной странице. Задача не тривиальная. Благодарю за любую помощь и идею. Спасибо
Создание однолинейного массива из неповторяющихся (уникальных) данных.
 
Доброго времени суток уважаемые ГУРУ!!! Хочу написать макрос, но моих познаний не хватает, подозреваю нужна определенная функция. Задача следующая, есть набор элементов в таблице (интересует элемент-переменная в " Worksheets("EXCEL").Cells(n, 11).Value"). Перебором ячеек необходимо создать массив из не повторяющихся данных. Файл пример прилагаю и свою попытку реализовать задачу. Спасибо за любую помощь!!! Очень надо!!!
Сравнение элементов одномерного массива
 
Код
Sub Proverit()

    Dim myArrAvt(0 To 50) As Variant, sMerge As Variant
    Dim i As Integer, ii As Integer, n As Integer, PosStr As Integer
    Dim LDBname1 As String
    Dim Element As String
    n = 24

    Element = Worksheets("EXCEL").Cells(n, 11)
    PosStr = Cells(24, 1).End(xlDown).Row
    For n = 24 To PosStr
    
If Worksheets("EXCEL").Cells(n, 11) <> "4" Then
   LDBname1 = Worksheets("EXCEL").Cells(n, 2)
    ii = ii + 1: i = ii
      myArrAvt(ii) = Worksheets("EXCEL").Cells(n, 11)
    If ii < 50 Then
        If ii = 1 Then
         sMerge = myArrAvt(ii)
            Else
    For i = 1 To i
    If Element <> myArrAvt(ii) Then sMerge = sMerge & ", " & myArrAvt(i)
    Next i
        End If
        
    End If
End If
    Next n
End Sub

Доброго времени суток! Подскажите, как можно организовать проверку элементов массива, и если нового элемента в массиве нет, то внести как элемент этого же массива. Спасибо за любую помощь. Сам никак не могу сообразить.
Цвет текста в Label зависит зависимости от CheckBox в UserForm.
 
Доброго времени. Подскажите, как можно реализовать следующее: если CheckBox.Value=True, в Label "отчет" выглядит черным текстом. Если  CheckBox.Value=False, в Label "отчет" выглядит cthsv текстом. Спасибо за любую помощь. Пример прилагаю.
Изменено: vikttur - 09.06.2021 17:42:57
Вставить в UserForm gif анимацию
 
Добрый день, данная тема уже поднималась, но у меня все равно не получается. gif89 поместил в форму. Как в свойствах данного контрола в поле FileName указать путь к файлу с Gif-анимацией (как это сделать?) и второй вопрос как Инициализировать ActiveX  ? Файл примеры прилагаю и ссылка на картинку
https://yandex.ru/images/search?p=1&text=gif+%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D1%8... (тяжелая)
Спасибо за помощь.
Активация CheckBox и вывод значения в ячейку
 
Доброго времени суток! Подскажите, как можно реализовать следующую задачу. Создал форму, в которой указываю наличие перчаток и срок поверки. Задача следующая, если в ячейке  Cells (1,1)  = "да", тогда в форме должна быть сразу ставиться галочка и выводиться в  Cells (1,3) перчатки. Пример прилагаю. Спасибо за любую помощь.
Подстановка и удаление значения в зависимости от статуса выбранного checkbox
 
Доброго времени суток! Возник вопрос! Создал собственную форму в которой галочкой отмечаю что есть в наличии. Вопрос следующий, если я ошибочно поставил галочку, а потом снял, как можно внести изменения и в формируемом списке убрать позицию, которая была ошибочно отмечена? Пример прилагаю. Заранее спасибо!
Сохранение рабочей книги с заменой, если папка с таким именем уже существует
 
Добрый день, подскажите, как можно поправить существующий макрос чтобы он сохранял книгу с заменой, если папка с таким именем уже существует.
Код
'---------------------------------------------------------------------------------------
' Module    : Module3
' Author    : diam
' Date      : 26.06.2020
' Purpose   :
'---------------------------------------------------------------------------------------
Const mdlName As String = "Module3"

Public Sub SaveFile()

   'Объявление переменных
   Dim CellValue As String
   Dim Path As String
   Dim FinalFileName As String

   'Временно отключаем показ вспомогательных сообщений
  Const prcName As String = "SaveFile"
  On Error GoTo ErrHandler
  
   Application.DisplayAlerts = False

   'Задаём каталог сохранения файла (в данном случае текущий каталог)
   
    Path = Worksheets("Листы").Cells(19, 8)
   
   'Проверка значения ячеек B14 и D14
   If Worksheets("EXCEL").Cells(8, 10) = "" Or Worksheets("EXCEL").Cells(9, 10).Value = "" Then
     MsgBox "В ячейке отсутствует значение", vbCritical, "Ошибка!"
     Exit Sub
   End If
   
   'Получаем значение ячейки
   'CellValue = Worksheets("EXCEL").Cells(8, 10).Value & " " & Worksheets("EXCEL").Cells(9, 10).Value
    CellValue = "TO" & Worksheets("EXCEL").Cells(14, 10).Value
   'Формируем итоговый путь и название файла
   FinalFileName = Path & CellValue & ".xlsx"

   'Сохраняем файл
      ActiveWorkbook.SaveAs Filename:=FinalFileName, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
   
   '
                      'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
   'Включаем вывод сообщений
   Application.DisplayAlerts = True

   'Сообщение с результатом выполнения процедуры
   MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"

Success:

mEx:
  Exit Sub

ErrHandler:
  Application.DisplayAlerts = True
  ErrorSave mdlName, prcName, Err.Number, "(" & Err.Description & ")" & vbCrLf & "в процедуре " & prcName & " of Module " & mdlName & " в строке " & Erl
  Resume mEx
  Resume

  End Sub
Передача переменной в пользовательскую форму
 
Доброго времени суток. Подскажите, как можно передать переменную в созданное диалоговое окно?
пример прилагаю. Попытался передать как в процедуру, ругается. Спасибо за любую помощь!
Вставить текст в ячейку на неактивный лист
 
Доброго времени суток! Подскажите, как можно вставить значение в ячейку на неактивном листе?
Есть активная книга, в которой 2 листа. В активном листе "Дефекты" проверяется поиск замечаний zamechanijaPR. Если замечания отсутствуют, то на листе "Осмотр" в Cells(15,5) вставить "Соответствует". Лист "Осмотр" в этот момент не активен. Пробовал, а он никак не вставляет
Код
If zamechanijaPR = 0 Then
Sheets("Осмотр").Cells(5, 15) = "Соответствует"
Else
Sheets("Осмотр").Cells(5, 15) = "Не соответствует"
End If
Объединение значений в строку.
 
Доброго времени суток! Подскажите, как можно оптимизировать решение следующей задачи: используя условия, происходит проверка (в моем случае автоматов не удовлетворяющих условию, а именно ток диф. отсечки на вводе должен превышать  токи на группах. В примере в столбце 14 листа Excel указаны эти токи, а ввод или группа в столбце 3.)
Задача; Результат должен записываться перечислением всех автоматов через запятую, которые не удовлетворяют условию.
Пример прилагаю и свой корявый способ объединения.
Присвоить порядковый номер переменной
 
Доброго времени суток. Возник вопрос. Как можно присвоить порядковый номер переменной используя цикл. Пример, есть некая переменная N ее тип String. Используя цикл и проверку условий, получать переменную N1, N2, N3 и т.д. Подскажите возможно ли это?
Поиск символа в ячейке и его замена, Необходимо заменить Р на Х, учитывая регистр, т.е если Р заглавная, то и Х заглавная и наоборот.
 
Доброго времени суток, подскажите как можно в ячейке найти букву  Р и заменить ее на Х, учитывая  регистр, т.е если Р заглавная, то и Х заглавная и наоборот.
(В ячейке некий текст). Попробовал использовать функцию ниже, но она не учитывает регистр. Благодарю за помощь.
Код
Worksheets("EXCEL").Cells(n, 6).Replace "р", "x", xlPart

Записать в строку (перечислять) значения ячеек удовлетворяющие условиям., Перечислить в строке значения.
 
Доброго времени суток!
Уважаемые форумчане возник вопрос.
В столбце "В" названия групп, в столбце "С" количество детей в группе. Задача следующая. Для примера условия следующие, если в группе 50 или меньше детишек, в строку, через запятую перечислить названия этих групп. Никак не могу сообразить как это можно организовать. Количество групп разное и заранее не известно. Подскажите как это можно реализовать? За ранее спасибо.
Файл пример прилагаю.  
Случайное число из диапазона значений, Изменять диапазон значений на рабочем листе
 
Доброго времени суток. Возник следующий вопрос. Существует некая таблица в столбец которой необходимо вставить случайное число из заданного диапазона чисел. Использовал встроенную функцию Excel " =случмежду(10;30)", часто приходится изменять диапазон. Как можно сделать так, чтобы этот диапазон можно было бы менять на рабочем листе в ячейках L7-нижний предел и M7-верхний, а не в коде программы. Файл-пример прилагаю.
Изменить названия кнопок в диалоговом окне
 
Доброго времени суток. Форумчане подскажите пожалуйста, возможно ли в VBA Excel изменить названия кнопок в диалоговом окне Вместо кнопок с названиями да или нет на другие? К примеру вместо да-мужчина, нет-женщина, и соответственно от выбора продолжить выполнение процедуры. Подскажите к ресурсу к которому можно обратиться?
[ Закрыто] Отладка програмного кода., Програмный код сохраняет файл с непонятным расширением.
 
Код
Sub SaveFile()

   'Объявление переменных
   Dim CellValue As String
   Dim Path As String
   Dim FinalFileName As String

   'Временно отключаем показ вспомогательных сообщений
   Application.DisplayAlerts = False

   'Задаём каталог сохранения файла (в данном случае текущий каталог)
   'Path = ThisWorkbook.Path & "\"
    Path = "C:\Users\Roza\Desktop\ТО" & "\"
   
   'Проверка значения ячеек B14 и D14
   If Worksheets("EXCEL").Cells(8, 10) = "" Or Worksheets("EXCEL").Cells(9, 10).Value = "" Then
     MsgBox "В ячейке отсутствует значение", vbCritical, "Ошибка!"
     Exit Sub
   End If
   
   'Получаем значение ячейки
   CellValue = Worksheets("EXCEL").Cells(8, 10).Value & " " & Worksheets("EXCEL").Cells(9, 10).Value

   'Формируем итоговый путь и название файла
   FinalFileName = Path & CellValue

   'Сохраняем файл
   ActiveWorkbook.SaveAs Filename:=FinalFileName, _
                      FileFormat:=xlOpenXMLWorkbook
                      'FileFormat:=xlOpenXMLWorkbookMacroEnabled 'Для сохранения файла с макросом
   'Включаем вывод сообщений
   Application.DisplayAlerts = True

   'Сообщение с результатом выполнения процедуры
   MsgBox "Файл успешно сохранен с названием - " & CellValue, vbInformation, "Результат"

  End Sub
Прошу помочь в поиске ошибки данного кода. Данный код копирует и сохраняет активную книгу Excel по указанному адресу и использует значения ячеек для формирования названия файла. Если использую 1 ячейку, файл сохраняется с расширением  xlsx, а если 2 ячейки, то вообще не понятное расширение. Подскажите как сделать чтобы сохранялось с расширением  xlsx или  xls
Генератор случайных чисел в заданном диапазоне
 
Доброго времени суток! Уважаемые форумчане подскажите как можно решить вопрос с  случайными числами. Задача следующая, проводятся замеры, результаты должны принимать значение  от 0,01 до 0,04. Я делаю следующее kon1-переменная результата замера
Код
kon1 = Int((4 * Rnd) + 1) / 100: Cells(13, 3).NumberFormat = "0.00"
Cells(13, 3) = kon1

Таких переменных сделал 4 штуки, но они всегда повторяются, т.е принимают одни и те же значения. Как можно сделать чтобы результаты менялись, допустим привязать их к иттерациям?
Проблемка в том, что замеры выводится в столбец и не очень красиво выглядит столбец с периодически повторяющимися значениями. Спасибо за любую помощь и идею!
Как можно организовать передачу значений переменных между процедурами.
 
Доброго времени суток и всех с праздником 9 мая!. Возник вопрос как организовать передачу значений переменных между процедурами? В програмировании я новичек, не обессудьте за непонимание и не совсем корректную формулировку вопроса.
Создал макрос который выполняет подсчет строк исходя из определенных условий. при запуске, макрос определяет какая процедура должна работать, их 2. Sub Макрос1() и Sub metall(). Если в ячейке Range ("V23") стоит 1, работает Sub metall() в противном случае Макрос1(). В таблице c исходными данными, на листе Excel,
ввожу данные и указываю типы шкафов в ячейке Range ("V23"). Типы могут меняться, поэтому необходима организация передачи переменных для последовательного вывода результата. Отличие процедур в том, что Sub metall() добавляет дополнительно пустые строки.
Подскажите, как это сделать, в литературе мало что понял. Спасибо. Пример прилагаю.
В блоках строк считать количество строк с названиями "ввод" и "группа"
 
Доброго времени суток, подскажите как организовать подсчет определенных строк. Условия следующие: пока в столбце "В" имя ШР 5.1.8 подсчитать коль-во строк имеющих в столбце "С" ввод и группа. После изменения имени в "В" нужно обнулить счетчики и начать подсчет строк с теми же условиями, но уже с другим именем и т.д. Файл для наглядности приложил. Я только учусь,
Пробовал сделать следующим образом код ниже. Результат выводится на другом листе который будет активным в момент заполнения
Код
Доброго времени суток, подскажите как организовать подсчет определенных строк. Условия следующие: пока в столбце "В" имя ШР 5.1.8 подсчитать коль-во строк имеющих в столбце "С" ввод и группа. После изменения имени в "В" нужно обнулить счетчики и начать подсчет строк с теми же условиями, но уже с другим именем и т.д. Файл для наглядности приложил.
Пробовал сделать следующим образом:

Dim kolVk As Integer, kolgr As Integer

kolVk = 0
kolgr = 0

'kolVk- счетчик для ввода
'kolgr-счетчик для группа
LDB = ""
Do While LDB = LDB
If Worksheets("EXCEL").Cells(nrs, 3) = "ввод" Then kolVk = kolVk + 1
If Worksheets("EXCEL").Cells(nrs, 3) = "группа" Then kolgr = kolgr + 1
nrs = nrs + 1
Loop

Cells(28 + npp, 3) = "Количество вводов "
Cells(28 + npp, 4) = kolVk
Cells(28 + npp + 1, 3) = "Количество групп "
Cells(28 + npp + 1, 4) = kolgr
Cells(28 + npp, 5) = "< 0,5"
Cells(28 + npp, 6) = Int((25 - 15 + 1) * Rnd + 15) / 100: Cells(28 + npp, 18).NumberFormat = "0.00"

Изменено: Фарит - 08.05.2020 00:03:26
Отображение информации в зависимости от указанного количества листов, ошибка вывода результата вычислений
 
Доброго времени суток!

Задача следующая.
Если в столбце "Коль-во листов" стоит 1, то в столбец "Номер листа" ставится порядковый номер. Программа работает.
Если в столбце Коль-во листов" стоит 2 и более, то в столбец "Номер листа" должно выводиться начало протокола и его окончание, т.е для примера, протокол имеет 2 листа, результат должен выводиться 3-5, т.е 3 страница начало, а 5 его окончание.
В програмном коде использую 2 варианта суммирования ячеек столбца, в зависимости от того, как я суммирую, выдает разные ошибки. Оба варианта закоментированы. Помогите пожалуйста с решением поставленной задачи.

Файл- пример прилагаю. Спасибо!
Отладка и поиск ошибки A, Макрос выдает ошибку, что данная таблица не существует
 
Разработан макрос для копирования таблицы из Xcel в Word. Для одной таблицы работает отлично, переделываю условия для другой, выдает ошибку "Таблица не найдена
Файл с таблицей и кодом прилагаю. Помогите разобраться в чем дело
Код
WrdName = "D:\Íîâàÿ ïàïêà\Ïðîòîêîë 5.doc"
  'WrdName = InputBox("Укажите путь к шаблону:", NameApp, WrdName)
  If WrdName = "" Then
    MsgBox "Не задан путь к файлу", vbExclamation, NameApp
    GoTo mEx
  End If
'  If Not WrdName Like "*\*" Then WrdName = ActiveWorkbook.Path & "\" & WrdName
  On Error Resume Next
  Set objWrdApp = GetObject(, "Word.Application")
  If objWrdApp Is Nothing Then
    Set objWrdApp = CreateObject("Word.Application")
    objWrdApp.Visible = True
  End If
  On Error GoTo ErrHandler

  Set objWrdDoc = objWrdApp.Documents.Open(WrdName)  '("D:\Dev\ÒÎ 5085 — êîïèÿ.doc")
  'objWrdApp.ScreenUpdating = False
  'objWrdApp.Visible = True
    'End If
      
     '1 найдем открытые документы Ворда
     '2 Предложим какой ворд использовать
     '3 Найдем нужную таблицу с коль-ом столбцов 15
  
  For TableIndex = 1 To objWrdDoc.Tables.Count
    Set objWrdTab = objWrdDoc.Tables(TableIndex)
    'Таблица должна быть из 3 строк и  15столбцов
    If objWrdTab.Rows.Count = 3 And objWrdTab.Columns.Count = 15 Then
      If Left(objWrdTab.Cell(2, 13).Range.Text, 16) = "Допустимое" Then
        IsTabFound = True
        Exit For
      End If
    End If
  Next
  If IsTabFound = False Then
    MsgBox "таблиц аНе найдена ", vbExclamation, NameApp
   GoTo mEx
 End If
 
 rs = objWrdTab.Cell(3, 1).Range.Start ' objWrdDoc.Tables(28).Cell(5, 1).Range.Start
 re = objWrdTab.Cell(3, 15).Range.End 'objWrdDoc.Tables(28).Cell(3, 15).Range.End
[ Закрыто] Создание макроса
 
Два макроса удовлетворяют определенным условиям, а мне надо чтобы один макрос нумеровал и объедененные ячейки и одинарные с возможностью добавлять и удалять строки с автоматическим изменением нумерации строк. Прошу Вас помоч
Нумерация строк с объединенными ячейками
 
Доброго времени суток!
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B28:B5000]) Is Nothing Then Exit Sub
If [B28:B5000].Text = "" Then Exit Sub
Dim r As Range, i&
Application.EnableEvents = False
'If Target <> "" Then Target = ""
For Each r In [B28:B5000].SpecialCells(2)
        i = i + 1: r = i
Next r
Application.EnableEvents = True
End Sub

Есть макрос с возможностью редактирования номера страницы. В строке, где номер не нужен, можно просто удалить его или всю строку. При этом сохраняется нумерация. Проблема заключается в том, что макрос неправильно нумерует следующую строку после объедененной ячейки  (в примере это видно). Прошу помочь усовершенствовать  макрос чтобы он воспринимал объедененные ячеки как одну и соответственно нумеровал следующую по порядку строку.

Очень важно сохранить функцию непрерывной нумерации и при удалении ненужных строк!!!
Пример прилагается.
Вложил образец целиком страницы, возможно изначально можно поправить процедуру нумерации для возможности удаления строк и соответственно изменять порядковый номер строк.

Спасибо
Изменено: Фарит - 03.05.2020 18:16:38 (Неверно нумерует строки после объедененных ячеек)
Страницы: 1
Наверх