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

Страницы: 1 2 3 След.
Проблема с запихиванием данных в массив
 
ocet p, спасибо за информацию. Про sql тоже задумался. Спасибо всем за помощь.  
VBA Удаление файла с ресурса, Удаление файла
 
не подскажите как макросом завершить процессс?
Проблема с запихиванием данных в массив
 
послСтрока = Книга.Лист.UsedRange.Rows.Count
Проблема с запихиванием данных в массив
 
Просто в данном файле необходимые столбцы находятся на больших расстояниях . 2 столбец, 24, столбец, 36 столбец.
Хотя вы правы, можно попробовать скопировать на новый лист нужные столбцы и потом забрать их в массив.
Будем пробовать.

Цитата
Nordheim написал: Пробовали не через метод GetObject?
Да, через WorkBook.open  и  массив = Книга .Активный лист и т.д.
Проблема с запихиванием данных в массив
 
не подскажете , как тогда можно обойти стороной пробег по файлу ? Массив просто быстрее обрабатывается.
VBA Удаление файла с ресурса, Удаление файла
 
Да не, процедура завершается, я в конце даю ожидания, чтобы файл отразился на ресурсе (Application.Wait (3 секунды)) и все

Цитата
Андрей VG написал: есть unrar - консольное приложение только для извлечения файлов?
Не могли подсказать как использовать , на сколько я понимаю это Shell или нет? не встречал такого подхода ранее.  
Проблема с запихиванием данных в массив
 
Добрый день, форумчане.
Столкнулся с такой проблемой. Есть файл с данными более 300к+ строк и порядка 40 столбцов. Хочу данные запихнуть макросом в массив, но почему-то полностью не получается запихнуть сразу.
при каждом прогоне макроса постоянно разный результат, то 4000 строк будет, то 69к, то 200к.
Может кто подскажет как запихнуть ? В чем проблема может?
Пробовал и .Range("A1:AN" & номер последней строки)
Код
sub процедура ()

переменнаяКниги = GetObject(pathBook)
массив = переменнаяКниги.ActiveSheet.UsedRange
переменнаяКниги.Close

....
End sub
VBA Удаление файла с ресурса, Удаление файла
 
Цитата
БМВ написал:
значит некорректно извлекаете
я извлекаю командой Е (извлечь файл из архива) и использую 2 ключа -о+ (перезапись) и -inul (не выводить ошибку)
получается = путьRar & "E -o+ -inul"
VBA Удаление файла с ресурса, Удаление файла
 
БМВ, и я так думал, что RaR после работы должен отцепиться от него, а нет. Приходится через Диспетчер задач снимать процесс с WINRAR.EXE и потом можно делитнуть файл
VBA Удаление файла с ресурса, Удаление файла
 
Добрый день, форумчане!
Может кто подсказать, как можно удалить файл макросом? Суть следующая, сначала макрос переносит из архива на ресурс файл, затем с файлом занимается также макрос и потом необходимо его удалить. При попытке удалить через Kill  и FSO,FileDelete появляется Debug, что невозможно удалить. А это все потому, что при переносе запускается WINRAR  и файл получается им занят.
Вот и вопрос можно как-то жестко его жестко снести?
Автоматическое заполнение результатов табеля из данных графика
 
ExpRU,а зачем 3 и 4 строка в табеле пустые, нужны? И в столбца АС стоит 1 и разделяет таблицу, это зачем?
Изменено: nor - 20.01.2021 18:17:32
Автоматическое заполнение результатов табеля из данных графика
 
ExpRU, каждый месяц будет на новом листе в данной книге  с табелем или табель будет в отдельной книге? объединенные ячейки вообще не лучший формат.
Таблица с табелем универсальна или на каждый месяц будет новая таблица на новом листе или ниже прежнего ?
Автоматическое изменение гиперссылки при переименовании файла
 
DanKZ, а где будут гиперссылки? в чем логика файла?
Ошибка при добавлении новой записи: application defined or object defined error
 
а переменные у вас глобальные? имя таблицы проверяли на листе с макросом?
Открыть определенный exel файл по названию в ячейки, При выборе названия файла из ячейки необходимо, чтобы открылся отдельно exel файл с этим именем находящимся в одной папке с этим файлом
 
Можно так, если данный файл и файлы из списка лежат в одной папке
Можно ли сделать уникальный процесс Excel, который будет работать особняком?
 
Добрый. tsutse вы имеете ввиду что каждая книга открывалась новым приложением Excel ?
Как при помощи цикла найти нужное значение?, Научите пользоваться циклом
 
Цитата
Timur написал:
в "В5"  например 45 т.е. код должен искать цифру больше чем в В5 в столбце Е и брать 55, собственно он это и делает, но ведь 55>45где ло
Цитата
Цикл while проверяет на истенность выражение. Т. е., пока в столбце Е значение будет меньше чем в B5 он будет заходить во внутрь цикла и увеличивать переменную x. Как только в Е(х) значение будет больше чем в B5, то цикл завершается.
Автозаполнение документа в зависимости вводимых данных
 
Цитата
IHecTop написал:
Нашел информацию про впр и гпр
Если использовать просто ВПР, то он выведет значение с таблицы только первой строке совпадения. Ну, а без файла конечно, можно только гадать,что там за таблица.
Посчитать определенные слова (символы) в ячейке
 

sergey08, уберите +1 в строке

Код
 .Range("C" & i) = UBound(arr1) + 1 - z: z = 0
Посчитать определенные слова (символы) в ячейке
 
как вариант макросом, файл во вложении
Код
Sub Macro1()
    Dim arr1, arr2
    Dim x As Long, i As Long, z As Integer
    Dim aArr, aArr2
    
    With ThisWorkbook.ActiveSheet
        x = .Cells(Rows.Count, 1).End(xlUp).Row
        arr2 = Split(.Range("C2"), ",")
    
        For i = 3 To x
            arr1 = Split(.Range("B" & i), ";")
            For Each aArr In arr1
                For Each aArr2 In arr2
                    If aArr = aArr2 Then
                       z = z + 1
                    End If
                Next
            Next
            .Range("C" & i) = UBound(arr1) + 1 - z: z = 0
        Next i
    End With
End Sub
Преобразование формул в значение, но с условем
 
Код
Sub Macros1()
Dim x
    For Each x In Sheets("База").Range("E6:DH53")
        If x > 0 Or x.Interior.Color <> xlNone Then
            x.Formula = x.Value
        End If
    Next
End Sub
Изменено: nor - 21.03.2020 21:02:02
Скрыть все строки макросом, кроме удовлетворяющих условию
 
Код
Sub Macro1()
    Dim x As Long, i As Integer, y As Integer
    Dim lRow As Long
    Dim iCol As Integer
    
    With ThisWorkbook.Worksheets("Аркуш1")
        x = .Cells(Rows.Count, 1).End(xlUp).Row
        i = .Cells(1, Columns.Count).End(xlToLeft).Column
        y = 0
        For lRow = 2 To x
            For iCol = 1 To i
                If .Cells(lRow, iCol).Value = "Запросить" Then
                    y = 1
                    Exit For
                End If
            Next
            If y = 0 Then .Rows(lRow).Hidden = True
            y = 0
        Next
    End With

End Sub
как вариант
Как при помощи цикла найти нужное значение?, Научите пользоваться циклом
 
Код
Sub Macro2()
    Dim x As Integer
    
    x = 12 'номер строки с которой начинается таблица

    With ThisWorkbook.Worksheets("Лист1")
        Do While .Range("E" & x) < .Range("B5") 'проходим циклом по столбцу "Е" и сразу проверяем, что значение в ячейке меньше чем в "В5"
            x = x + 1
        Loop
        .Range("B2") = .Range("D" & x)
    End With
    
End Sub
Можно и циклом Do While.
Поиск содержимого - замена всей ячейки
 
Цитата
Afr написал:
Например - найти все ячейки в которых содержится: "слово"- заменить все содержимое найденной ячейки на только "слово"
Не совсем понятно. Можно было бы выложить файл для примерка как есть и что требуется.
В ячейке содержится только одно слово - "слово" или целое предложение запихано в ячейку?

На сколько "большим количеством строк"?
Запуск презентации в полноэкранном режиме макросом из Excel
 
Добрый день.
Кто сможет подсказать, почему при открытии макросом из Excel презентацию PowerPoint, она открывается не в формате демонстрации, а в обычном режиме?
Презентация сохранена в формате .ppsx (демонстрация). При этом если просто открыть презентацию, то открывается в демонстрации.

Может что-то не учел в макросе
Код
Private Sub Image3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    Dim pic As Object
    Set pic = CreateObject("PowerPoint.Application")
    pic.Presentations.Open "C:\Users\Desktop\instruction2.ppsx"
    DoEvents
End Sub
Макрос расчета количества значений из данных таблицы
 
ocet p, огромное спасибо за помощь.
Протестировал, в последнем цикле появляется ошибка о переполнении диапозона.
Вот на этом шаге, так как переменная i доходит до полдней терции (22), а к ней ещё + 1 и получается переполнение.
Код
tbl(j, 3) = dict(i + 1, 2) + dict(i + 1, 3) + dict(i + 1, 4) 'UROiK2

У меня получился макрос другой формации, с вложенными циклами. Может и "топорный" получился, но работает.
Код
Sub test()
    Dim shData As Worksheet
    Dim NewWB As Workbook
    Dim iCountDate As Integer
    Dim iLasrColSvod As Integer
    Dim iLasrColData As Integer
    Dim lLastRowData As Long
    Dim i As Integer
    Dim x As Integer
    Dim z As Integer
    Dim iLocat As Integer
    Dim iDeport As Integer
    Dim arrData()
    
    
    
    Set shData = ThisWorkbook.Worksheets("Лист1")
    iLasrColData = shData.Cells(1, Columns.Count).End(xlToLeft).Column
    lLastRowData = shData.Cells(Rows.Count, 1).End(xlUp).Row
    x = 1
        
    ReDim arrData(1 To 10, 1 To 5)
    arrData(1, 1) = "Количество  " & Date
    arrData(2, 1) = "Подразделение"
    arrData(3, 1) = "Нижний Новгород"
    arrData(4, 1) = "Екатеринбург"
    arrData(5, 1) = "Ставрополь"
    arrData(6, 1) = "Омск"
    arrData(7, 1) = "Воронеж"
    arrData(8, 1) = "Волгоград"
    arrData(9, 1) = "Самара"
    arrData(10, 1) = "Итого"
    arrData(2, 2) = "УРОиК1"
    arrData(2, 3) = "УРОиК2"
    arrData(2, 4) = "УРОиК3"
    
       For x = 3 To iLasrColData
            arrData(3, 5) = ""
            arrData(4, 5) = ""
            arrData(5, 5) = ""
            arrData(6, 5) = ""
            arrData(7, 5) = ""
            arrData(8, 5) = ""
            arrData(9, 5) = ""
            For z = 3 To lLastRowData
                If shData.Cells(z, x) <> "" Then
                    For iDeport = 1 To UBound(arrData, 2)
                        If shData.Cells(z, 1) = arrData(2, iDeport) Then
                            For iLocat = 1 To UBound(arrData)
                                If shData.Cells(z, 2) = arrData(iLocat, 1) Then
                                    If arrData(iLocat, 5) = 1 Then
                                        Exit For
                                    Else
                                        arrData(iLocat, iDeport) = arrData(iLocat, iDeport) + 1
                                        arrData(iLocat, 5) = 1
                                    End If
                                 End If
                             Next iLocat
                        End If
                    Next iDeport
                End If
            Next z
       Next x
            arrData(3, 5) = ""
            arrData(4, 5) = ""
            arrData(5, 5) = ""
            arrData(6, 5) = ""
            arrData(7, 5) = ""
            arrData(8, 5) = ""
            arrData(9, 5) = ""
            arrData(10, 2) = "=SUM(R[-7]C:R[-1]C)"
            arrData(10, 3) = "=SUM(R[-7]C:R[-1]C)"
            arrData(10, 4) = "=SUM(R[-7]C:R[-1]C)"

Set NewWB = Workbooks.Add

NewWB.Worksheets(1).Range("A1").Resize(UBound(arrData), UBound(arrData, 2) - 1) = arrData

With NewWB.Worksheets(1)
    For i = 2 To 4
        For x = 3 To 9
            If .Cells(x, i) = "" Then .Cells(x, i) = 0
        Next x
    Next i
    
    .Range("A1").CurrentRegion.Borders.LineStyle = 1
    .Rows(1).Font.Bold = True
    .Rows(2).Font.Bold = True
    .Rows(10).Font.Bold = True
    .Range("A1:D1").Merge
    .Range("A1").Interior.Color = RGB(198, 224, 180)
    .Columns("A:D").EntireColumn.AutoFit
End With

End Sub
Изменено: nor - 03.02.2020 21:01:24
Макрос расчета количества значений из данных таблицы
 
ocet p,
УРОиК1 - будет 3, так как есть данные в каждом спуске. УРОиК2 и УРОиК3 - также будет 3, так как есть данные в каждом спуске.
Изменено: nor - 02.02.2020 10:22:24
Макрос расчета количества значений из данных таблицы
 
ocet p,
Нет не 4, а 2. Видно, что подразделение УРОиК1 участвовал в Спуске 1 и Спуске 3 (итого в 2-х спусках),  УРОиК3 участвовал в Спуске 1 и Спуске 2 (итого в 2-х спусках). Суть в том, что не важно сколько строчек с одним и тем же подразделением из одного города, а в том, чтобы показать в скольких спусках участвовало каждое  подразделение из Ставрополя и других городов.  
Макрос расчета количества значений из данных таблицы
 
Андрей VG, спасибо за вариант, но он не подходит. Почему именно макрос, на оригинале будет кнопка, после нажатия, макрос создает новую книгу и вносит в нее таблицу.
Макрос расчета количества значений из данных таблицы
 
Добрый день, форумчане.
Обращаюсь к вам за помощью, ни как не могу понять как написать макрос для следующей задачки.
Есть таблица с исходными данными по подразделениями в разных городах и есть в шапке заголовки активностей (Спуск 1, Спуск 2 и т.д). Подразделения и города дублируются по несколько строк, так как каждая строка это определенный человек. И необходимо подсчитать в скольких Спусках участвовало определенное подразделение из конкретного города. Сколько участвовало сотрудников не важно. Приложил файл с примером, как есть сейчас исходник и как должно получиться.
Страницы: 1 2 3 След.
Наверх