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

Страницы: 1
ошибка 1004 при открытии книги
 
Не бейте сильно, вопрос чайника. Возникает это при открытии книги-ошибка инициализации библиотек (1004), что надо сделать.
Просмотрел 10 страниц по поиску на форуме-ничего не понял, да и там както по-другому ситуации
[ Закрыто] изменить код
 
Задолбал меня чат-бот, или я его. Есть код который надо подправить, это макрос известный сбора листов из разных книг в одну пытаюсьь вразумить его что мне надо-а никак,, начинает сам путаться. А все что осталось-это ширина столбцов D,E,F  по максимальной ширине содержимого ячеек ниже 10 строки..  может людской мозг всетаки лучше?  подскажет кто?
Код
Sub Consolidated_Range_of_Books_and_Sheets()
    Dim iBeginRange As Object, lCalc As Long, lCol As Long
    Dim oAwb As String, sCopyAddress As String, sSheetName As String
    Dim lLastrow As Long, lLastRowMyBook As Long, li As Long, iLastColumn As Integer
    Dim wsSh As Object, wsDataSheet As Object, bPolyBooks As Boolean, avFiles
    Dim wbAct As Workbook
    Dim bPasteValues As Boolean
    Dim maxWidthD As Double, maxWidthE As Double, maxWidthF As Double
    Dim cell As Range
    
    On Error Resume Next
    'Выбираем диапазон выборки с книг
    Set iBeginRange = Range("A1") 'диапазон указывается нужный
    'Если диапазон не выбран - завершаем процедуру
    If iBeginRange Is Nothing Then Exit Sub
    'Указываем имя листа
    If sSheetName = "" Then sSheetName = "*"
    On Error GoTo 0
    'Запрос - вставлять на результирующий лист все данные
    'или только значения ячеек (без формул и форматов)
    bPasteValues = False 'Вставляем и значения, и все остальное
    'Запрос сбора данных с книг(если Нет - то сбор идет с активной книги)
    avFiles = Application.GetOpenFilename("Excel files(*.xls*),*.xls*", , "Выбор файлов", "E:\", True)
    If VarType(avFiles) = vbBoolean Then Exit Sub
    bPolyBooks = True
    lCol = 1
    'отключаем обновление экрана, автопересчет формул и отслеживание событий
    'для скорости выполнения кода и для избежания ошибок, если в книгах есть иные коды
    With Application
        lCalc = .Calculation
        .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual
    End With
    'создаем новый лист в книге для сбора
    Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
    'очищаем первый столбец на новом листе
    wsDataSheet.Columns(1).ClearContents
    'цикл по книгам
    For li = LBound(avFiles) To UBound(avFiles)
        If bPolyBooks Then
            Set wbAct = Workbooks.Open(Filename:=avFiles(li))
        Else
            Set wbAct = ThisWorkbook
        End If
        oAwb = wbAct.Name
        'цикл по листам
        For Each wsSh In wbAct.Sheets
            If wsSh.Name Like sSheetName Then
                'Если имя листа совпадает с именем листа, в который собираем данные
                'и сбор идет только с активной книги - то переходим к следующему листу
                If wsSh.Name = wsDataSheet.Name And bPolyBooks = False Then GoTo NEXT_
                With wsSh
                    Select Case iBeginRange.Count
                    Case 1 'собираем данные начиная с указанной ячейки и до конца данных
                        lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row
                        iLastColumn = .Cells.SpecialCells(xlLastCell).Column
                        sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address
                    Case Else 'собираем данные с фиксированного диапазона
                        sCopyAddress = iBeginRange.Address
                    End Select
                    lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row + 1
                    'вставляем имя книги, с которой собраны данные
                    If lCol Then wsDataSheet.Cells(lLastRowMyBook, 1).Resize(Range(sCopyAddress).Rows.Count).Value = oAwb
                    If bPasteValues Then 'если вставляем только значения
                        .Range(sCopyAddress).Copy
                        wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues
                    Else
                        .Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol)
                    End If
                End With
            End If
NEXT_:
        Next wsSh
        If bPolyBooks Then wbAct.Close False
    Next li
    'устанавливаем ширину столбцов D, E и F по максимальной длине текста в строках начиная с 11
    maxWidthD = 0
    maxWidthE = 0
    maxWidthF = 0
    For Each cell In wsDataSheet.Range("D11:D" & wsDataSheet.Cells(wsDataSheet.Rows.Count, "D").End(xlUp).Row)
        If Len(Trim(cell.Value)) > maxWidthD Then maxWidthD = Len(Trim(cell.Value))
    Next cell
    For Each cell In wsDataSheet.Range("E11:E" & wsDataSheet.Cells(wsDataSheet.Rows.Count, "E").End(xlUp).Row)
        If Len(Trim(cell.Value)) > maxWidthE Then maxWidthE = Len(Trim(cell.Value))
    Next cell
    For Each cell In wsDataSheet.Range("F11:F" & wsDataSheet.Cells(wsDataSheet.Rows.Count, "F").End(xlUp).Row)
        If Len(Trim(cell.Value)) > maxWidthF Then maxWidthF = Len(Trim(cell.Value))
    Next cell
    wsDataSheet.Columns("D").ColumnWidth = maxWidthD * 1.2
    wsDataSheet.Columns("E").ColumnWidth = maxWidthE * 1.2
    wsDataSheet.Columns("F").ColumnWidth = maxWidthF * 1.2
    'автоподбор высоты строк
    wsDataSheet.Rows.AutoFit
    'очищаем первый столбец на новом листе
    wsDataSheet.Columns("A").ClearContents
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .Calculation = lCalc
    End With
End Sub
Изменено: бухарик - 15.07.2024 09:48:53
копирование листа с выпадающим списком
 
может ктото подскажет, на листе имеется выпадающий список,  использовано "Поле со списком (элемент ActiveX)". Если копировать лист то в новом листе уже не работает выбор значений и поле выбора значений пустое.  Что нужно сделать чтобы в новом листе все работало?
Почему не перемещается лист
 
Доброго дня всем и с Наступающим!
Подскажите как решить проблему файла-пытаюсь перенести лист в др.книгу , но указанная опция недоступна как и многие другие,  хотя защита листа отсутствует. Заранее благодарен.
в чем состоит зависимость ячейки?
 
Помогите понять сей ребус (скрины прилагаю). Ячейку выделяю I85, смотрю зависимости - стрелка показывает зависимость от нее значения в ячейке G83. Но ведь нету никаких формул в них!!!  и что означает маленький значек типа таблица или чтото похожее в ячейке G83?
Изменено: бухарик - 20.12.2023 06:40:57
не знаю к екому и куда обратиться с помощью, конвертация файлов
 
други, не бейте сильно, в принципе чайник в вопросе который пытаюсь решить с помощью форума.
Попытаюсь озвучить, если можно прошу админа перенести тему в соответствующий раздел..

Имеется программа (это я так ее называю, ну или конвертер), в инструкции все описано по порядку работы. помещаем в папку IN файлы *210, забираем из папки XLS файлы cконвертированные.  Задача чтобы вместо все эти сконвертированные файлы, (которых может быть намного больше и в каждом строк с плательщиками тоже не по одному),  собрать в один файл-я сделал для примера вручную файл свод_месяц.хls в папке с фалами 210 лежит.  при этом требуется итог посчитать и посортировать по дате оплаты. Вот такая задача. а может это можно с помощью макросов решить? хотя не знаю что проще..
Изменено: бухарик - 23.05.2023 08:24:44
как вставить рисунок-подпись за текстом
 
может я повторяюсь в подобном вопросе, но поиском не нашел, может неправильно сформулировал, буду признателен если ткнете. Как все-таки сделать подпись-рисунок чтоб как в WORD за текстом?
помогите с макросом
 
можно ли в принципе написать такой макрос, на листе 1 нужно просматривать построчно данные по определенному столбцу, и искать значения цифровые (т.е.ячейка имеет формат ЧИСЛОВОЙ) и данные определенных столбцов этой строки  где найдено число вставлять в Лист2. проще -нужно сформировать список к примеру платежей (в разрезе л/счет, фио, дата,сумма) на листе2. на листе1 куча первичной информации где много и ненужного.
[ Закрыто] выпадающий список
 
подскажите как решить проблему, не могу понять.в книге  несколько листов. создавая выпадающий список указываю диапазон с другого листа. и ву-аля! сообщение (прикладываю) .. Но в аналогичном другом документе это работает. В чем дело?
убрать разбивку лишние столбцы, убрать лишнюю разбивку на столбцы
 
вопрос чайника конечно, но тупо не знаю как сформулировать правильно гуглу вопрос. может поможете.  включаю режим разметки-тысячи столбцов  справа от таблицы. как это все убрать, таблица в принципе помещается в одну страницу по ширине, по высоте конечно многовато, около 100. в параметрах страницы установил "1 по ширине, в высоту 500" ничего не меняется. запарился уж, а срочно надо распечатать
как исправить Ошибку-Текстовая дата с 2-значным годом
 

Помогите чайнику-бухгалтеру, плиз. Регулярно получаю для работы файлы-EXEL от одной конторы, в таблице в ячейках показывает Ошибка-техстовая дата с 2-значным годом, хотя там числа (так видимо импортируется из какой то программы типа 1с). Как преобразовать формат ячеек в "числовой" чтоб нормально хотя бы просуммировать диапазон

выбора не предлагает окно ошибок, простое изменение формата ячеек ничего не дает, замучался блин.

 

как избавиться от ошибки "Текстовая дата"
 
Помогите чайнику-как избавиться от ошибки "Текстовая дата в двузначном формате", нужно чтоб был формат числовой чтобы работать с цифрами. Идеально бы макрос на всю книгу, так как эти файлы присылаются ежемесячно, но я не догоняю что надо с этим делать
Изменено: бухарик - 26.10.2020 18:28:36
Непонятное форматирование: нельзя указать формат ячейки
 
бьюсь лбом который день. Выделяю ячейку (диапазон, строку и т.п.), жмем Формат ячейки, и ничего не происходит!!! Т.е. даже окно не появляется где устанавливаются всякие опции форматирования. На листе таблица, так вот опции форматирования ячейки не появляются только в пределах именно таблицы, за ее краями все ОК. помогите плиз
Страницы: 1
Наверх