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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 18 След.
Переименование файлов в папке
 
Здравствуйте. Вариант в этой теме.
Как программно проверить наличие проверки данных на ячейке?
 
Нашел вариант:
Код
Sub checkValidation()
    Dim cell As Range, v As Long
    For Each cell In Selection.Cells
        v = 0
        On Error Resume Next
        v = cell.SpecialCells(xlCellTypeSameValidation).Count
        On Error GoTo 0
        If v = 0 Then
            Debug.Print cell.Address & ": no validation"
        Else
            Debug.Print cell.Address & ": has validation"
        End If
    Next
End Sub
Автоматический перенос фото с одного листа эксель на другой лист эксель
 
Нашел и немного допилил код, который реагирует на выделение/вставку картинки на лист.
В данном файле-примере при вставке или выделении картинки, картинка "переносится" с лист1 на лист2.
Код в модуль книги
Удаление всех гиперссылок, Не получается удалить гиперссылки
 
А может кодом?
Код
ActiveSheet.Hyperlinks.Delete

Или думается нужно выделять картинки, а не диапазон, первую выделяем через правый клик, потом можно Ctrl+A, или с зажатым Ctrl выделять нужные.
_______
UPD: Кодом удаляется, а через выделение нет.
Изменено: DANIKOLA - 02.02.2025 14:58:41
Дублирование чисел из оной ячейки в другие, Дублирование чисел из оной ячейки в другие, с сохранением предыдущих значений
 
Так?
Код
Sub Insert_tab3_1()
    ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, 2).Value = Range("J32").Value
End Sub
Sub Clear_Insert_tab3_1()
    ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(0, -2).Value = ""
End Sub

В файле все прописано для каждой кнопки.
Окрашивание вкладок по значениям столбца базового листа, Помогите, пожалуйста, с написанием макроса
 
Цитата
Mr.Ches написал:
в "моменте"  нажатия на флажок
А где флажки? Чёт не видно никаких флажков в файле.
Окрашивание вкладок по значениям столбца базового листа, Помогите, пожалуйста, с написанием макроса
 
Так?
Удаление строк по условию, Удалить строки, содержащие определенный символ в столбце A
 
Цитата
Юрий Греков написал:
Не совсем так
А как? На чем проверять? От Вас файла примера нету(согласно 2.3)...
Цитата
Sanja написал:
Удаление строк нужно производить от конца к началу
Код
Sub DeleteRows()
    Dim lastRow As Long, i As Long
    Application.ScreenUpdating = False
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
    For i = lastRow To 1 Step -1
        If Cells(i, 1).Value = "x" Then Cells(i, 1).EntireRow.Delete Shift:=xlShiftUp
    Next i
End Sub
Копирование макросом картинки из листа, Копирование макросом картинки из листа в другой файл
 
Так?
Удаление строк по условию, Удалить строки, содержащие определенный символ в столбце A
 
Код
If cell.Value = "x" Then cell.EntireRow.Delete Shift:=xlShiftUp
Одновременная работа в двух окнах, Не получается одновременная работа с двумя книгами в Excel 2016
 
В версиях Excel старше 2010 работает только системный вариант двух окон рядом. А именно: открываем два файла, находясь в одном из них нажимаем Win + стрелка вправо и потом выбираем другое доступное окно.
Изменено: DANIKOLA - 04.01.2025 12:41:07
разъединить объединенные ячейки
 
Все дело было в дополнительном параметре Type:=xlFillCopy
Код
Sub UnMergeAndFillCells()
    Dim cell As Range, tempRange As Range, firstCellAddress As String
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Cells
        If cell.MergeCells And cell.MergeArea.Columns.Count = 1 Then
            firstCellAddress = cell.Address(0, 0)
            Set tempRange = cell.MergeArea
            cell.UnMerge
            Range(firstCellAddress).AutoFill Destination:=tempRange, Type:=xlFillCopy
        ElseIf cell.MergeCells And cell.MergeArea.Columns.Count > 1 Then
            cell.UnMerge
            cell.WrapText = False
            If Not IsNumeric(cell.Value) Then
                cell.HorizontalAlignment = xlLeft
            End If
        End If
    Next cell
End Sub
Изменено: DANIKOLA - 30.12.2024 18:12:50
разъединить объединенные ячейки
 
Цитата
GGR написал:
А можно еще  поправить код , чтобы " Итого по наряду" тоже  разъединилось . Цех,дата и механизм формируются с нарастайкой.
Покажите в файле на листе "должно быть", как это должно быть, а то как-то со слов не совсем понятно. Что за нарастайка?
разъединить объединенные ячейки
 
Добрый день.
Код
Sub UnMergeAndFillCells()
    Dim cell As Range, tempRange As Range, firstCellAddress As String
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Cells
        If cell.MergeCells And cell.MergeArea.Columns.Count = 1 Then
            firstCellAddress = cell.Address(0, 0)
            Set tempRange = cell.MergeArea
            cell.UnMerge
            Range(firstCellAddress).AutoFill Destination:=tempRange
        End If
    Next cell
End Sub
Изменено: DANIKOLA - 30.12.2024 15:37:15
Два окна vba одновременно
 
Открыть оба модуля, т.е. дважды кликнуть на каждом,
убрать полноэкранный режим окна:

и
Перенос данных из одной книги в другую
 
Alisa103, приложите два файла-примера, согласно правилам, т.е. книгу для ввода данных и ту другую книгу в которую данные копируются, чтобы структура файлов соответствовала реальным файлам, может с помощью макросов что и получится решить...
перенос таблицы в другой файл
 
Без имён книг, макрос должен быть в книге-исходнике. Т.е., исходник нужно пересохранить с поддержкой макросов и поместить туда этот макрос:
Код
Sub CopyTable()
    Dim wbSource As Workbook, wbDestination As Workbook
    Dim myTable As Range, myNewTable As Range, Cell As Range
    
    Application.ScreenUpdating = False
    
    Set wbSource = ThisWorkbook
    Set myTable = wbSource.Worksheets(1).Range("A2").CurrentRegion
    Set wbDestination = Workbooks.Add
    
    myTable.Copy
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteColumnWidths
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteValues
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteFormats
    
    Set myNewTable = wbDestination.Worksheets(1).Range("A2").CurrentRegion
    
    For Each Cell In myTable
        myNewTable.Range(Cell.Address).Interior.Color = Cell.DisplayFormat.Interior.Color
    Next Cell
    myNewTable.Cells(1, 1).Select
    Application.CutCopyMode = False
End Sub

В результате получаем новую книгу, которую нужно вручную сохранить в нужном Вам месте. Хотя и это можно автоматизировать.
Изменено: DANIKOLA - 26.12.2024 09:32:51
перенос таблицы в другой файл
 
Может так:
Код
Sub CopyTable()
    Dim wbSource As Workbook, wbDestination As Workbook
    Dim myTable As Range, myNewTable As Range, Cell As Range
    
    Application.ScreenUpdating = False
    
    Set wbSource = Workbooks("Так есть.xlsx")
    Set myTable = wbSource.Worksheets(1).Range("A2").CurrentRegion
    Set wbDestination = Workbooks("Destination Book.xlsm")
    
    myTable.Copy
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteColumnWidths
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteValues
    wbDestination.Worksheets(1).Range("A1").PasteSpecial xlPasteFormats
    
    Set myNewTable = wbDestination.Worksheets(1).Range("A2").CurrentRegion
    
    For Each Cell In myTable
        myNewTable.Range(Cell.Address).Interior.Color = Cell.DisplayFormat.Interior.Color
    Next Cell
    myNewTable.Cells(1, 1).Select
    Application.CutCopyMode = False
End Sub
Вставка столбцов к нужным столбцам, Распределить столбцы к определённым столбцам
 
Kuzmich,
Цитата
Kuzmich написал:
куда делась колонка с Профиль?
Потерялась в процессе отладки макроса.
Цитата
Kuzmich написал:
колонке Труба1 откуда число 87?
От фонаря, чтобы не было пусто, пока разбирался что куда там копируется временно написал, чтобы видеть будут ли изменения.
___
Перекачал файл проверил, вроде работает нормально без потерь колонок.
Изменено: DANIKOLA - 21.12.2024 00:13:14
Вставка столбцов к нужным столбцам, Распределить столбцы к определённым столбцам
 
Может так: Общий расход_Внести_v.2.2.3.xlsm (22.36 КБ) ?

Код
Изменено: DANIKOLA - 21.12.2024 00:19:32
Скрытие панели инструментов и увеличение таблицы по размеру видимой части экрана
 
Здравствуйте. Может что-то подойдет.
Код
Sub HideRibbon()
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", False)"
    Call FitTable
End Sub

Sub ShowRibbon()
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
    DoEvents
    Call FitTable
End Sub
Sub FitTable()
    Range("B1").CurrentRegion.Select
    ActiveWindow.Zoom = True
    Range("B1").Select
End Sub
Как с помощью макроса сохранить и закрыть книгу Excel, Макрос открывает все книги, но не закрывает и не сохраняет изменения, не хватает знаний грамотно дописать код
 
А Вы про файл(ы)-пример(ы) читали 2.3? Я не могу протестировать код без файлов. Приложите 2-3 файла согласно правилам форума тогда будет работать, но полюбому путь к файлам Вы сами должны будете прописать в коде.
Маркос форма с паролем для доступу к листам, Макрос форма с паролем которая дает доступ к листам, пароль связан с датой
 
Доработанный вариант, будет работать только при включенных макросах. Весь код внутри формы. WorkBook_Open только открывает форму. Пароль 4, на случай если сразу включите макросы.
___
UPD:
Вот обновленный файл с письма:PasswordSheet.xlsm (31.91 КБ)
___
UPD:
Тест открытия.xlsm (38.71 КБ)
Изменено: DANIKOLA - 18.12.2024 23:57:31
Как с помощью макроса сохранить и закрыть книгу Excel, Макрос открывает все книги, но не закрывает и не сохраняет изменения, не хватает знаний грамотно дописать код
 
Код
Sub Create()
    Dim i As Integer, sFolder As String, sFiles As String
    sFolder = "путь к папке"
    sFiles = Dir(sFolder & x & "extr_*")
    Do While sFiles <> ""
        Workbooks.Open sFolder & sFiles
        sFiles = Dir
        For i = 1 To Sheets.Count
            If Sheets(i).Name Like "extr_*" Then
                Sheets(i).Name = "Лист1"
            End If
        Next i
        ActiveWorkbook.Close SaveChanges:=True
    Loop
End Sub
Помогите: Как сконвертировать из 10-ой системы в ieee 754 ?, Нужно чтобы так же было и в exel - в одну строчку ввожу цифру - из другой выходное значение.
 
Так есть же формат ячеек экспоненциальный, применить его к ячейке результату и в ней же написать простую формулу, =B1=A1.
Переименовать массово файлы
 
Цитата
IuliaPash написал:
готовый макрос
Вот
Своя надстройка, Вставка свей иконки
 
Возможно формат картинки нужно сменить на jpeg или ico, так же название на латиницу измените.
Изменено: DANIKOLA - 06.07.2024 13:50:39
Перенос данных с помощью макроса, Нужно перенести данные как на скрине
 

Цитата
Назар Скалат написал:
добавить 18 и поменять 98 на 116?
В одной строке помещается 4-е матча. Если добавить 18, то получим 3(18/6) строки в каждой по 4-е и того получится 12 свободных мест для записей.
Все происходит точно также, как Вы делали вручную, берем одну строку с матчами(в Екселье это группа из 5-ти строк) и идем слева на право, дошли до конца строки, опускаемся ниже на 6 екселевских строк и.т.д... То есть добавив 1 раз 6, мы получаем место для 4-х матчей.
Перенос данных с помощью макроса, Нужно перенести данные как на скрине
 
Код
For i = 2 To 98 Step 6

Число 98 меняете на свое, с шагом 6, типа: 104, 110, 116...
Это строки, каждая цифра это только одна строка, в одной строке у Вас 4 результата, посчитаете сами сколько нужно добавить...
Макрос по сохранению листа книги
 
Цитата
Alex написал:
Добавьте расширения файла
Интересно почему у hury  не работает, проверял на Win10/Office 2010 и 2021 все отрывается. При написании кода была мысль поставить расширение, как в сообщении №1, но как-то подумал, что когда мы сохраняем файл Excel вручную, мы ведь не указываем расширение, вот и решил попробовать без расширения, проверил оба варианта, все работает ок...
UPD:
Цитата
Alex написал:
У меня тоже не сработал макрос win10/365
Понятно, буду писать с расширением.
_______
hury, можно избавиться от этих строк кода:
Код
ActiveWindow.ScrollColumn = ...

они, можно сказать, мусорные, только раздувают код.
В VBA можно управлять объектами не выделяя их, т.е., можно поубирать все Select(ы) и Selection(ы) или б0льшую их часть.
Например показать скрытые столбцы:
Код
Columns("N:Y").EntireColumn.Hidden = False

Также с Range("X2").Select, можно сразу:
Код
Range("X2").Copy' И дальше аналогично без Select и Selection
Range("X2").PasteSpecial Paste:=xlPasteValues '...

Ну и докопируете недостающие строки кода в правильном порядке.

P.S. Ну, а делать все вместо Вас лень, попробуйте сами, а если что не получится, пишите сюда же...
Изменено: DANIKOLA - 20.06.2024 17:38:16 (Добавил ответ Alex)
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 18 След.
Наверх