Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
23.04.2024, 10:10:09

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
  Просмотр сообщений
Страниц: 1 ... 14 15 [16] 17
226  Основные форумы / Вопросы по Excel и VBA / Re:Не срабатывает COUNTIFS : 30.06.2018, 13:55:45
Наверное так?
Код: (vb)
"=COUNTIFS(Заявки!C2,RC2,Заявки!C15,""<=""&RC15,Заявки!C15,"">=""&(RC15-30))"


227  Основные форумы / Вопросы по Excel и VBA / Re:Сравнение ячеек и закрашивание по результату : 30.06.2018, 11:35:19
Все делается условным форматиованием
формула для 1-го столбца
=И(RC="In Progress";RC3<СЕГОДНЯ())
формулы для 3-го столбца
=RC<RC2
=И(RC1="In Progress";RC<СЕГОДНЯ())
228  Основные форумы / Вопросы по Excel и VBA / Re:Оптимизация быстродействия макроса по удалению строк : 29.06.2018, 23:50:48
Люблю проверять различные утверждения типа "все придумано"

для данного упражнения написал макросики для тестирования.
чуток подкорректировал макрос Юрия(d_rows_2), дабы Юнион уменьшить
и Юрия макрос тоже сохранил Подмигивающий
он, кстати аналогичен варианту из "все придумано"
Желающие могут скачать файл из вложения и потестить самостоятельно...
так вот тесты не утешительные!
оказывается на большом объеме данных последовательное удаление - самое оптимальное

тестировалось на win10, excel2013 x64, i5, 4g оперативы.
результаты в секундах.

d_rows_1  - макрос из моего поста выше;
d_rows_2 - оптимизированный мною макрос Юрия;
УдалениеСтрокОднимМахом - макрос Юрия.



Подготовлено 466 строк для удаления из массива в 1 000 строк.
d_rows_1 - 0,21875
d_rows_2 - 0,1171875
УдалениеСтрокОднимМахом - 0,296875

Подготовлено 4 666 строк для удаления из массива в 10 000 строк.
d_rows_1 - 1,3125
d_rows_2 - 3,023438
УдалениеСтрокОднимМахом - 80,72656
почувствуется сразу
почуствовал...

Подготовлено 46 666 строк для удаления из массива в 100 000 строк.
d_rows_1 - 123,3047, т.е 2 минуты
d_rows_2 - 2623,789   - ~44 минуты
УдалениеСтрокОднимМахом - "залип", может попозже раздуплится, напишу результат, но пока висит уже более часа...



я, конечно, могу ошибаться, но попробуйте сами...
229  Основные форумы / Вопросы по Excel и VBA / Re:Оптимизация быстродействия макроса по удалению строк : 29.06.2018, 10:48:30
Юрий,
предложите вариант кода для сравнения
230  Основные форумы / Вопросы по Excel и VBA / Re:Оптимизация быстродействия макроса по удалению строк : 29.06.2018, 10:32:16
Да, чё-то я протупил,
а ведь стоял же лонг...
231  Основные форумы / Вопросы по Excel и VBA / Re:Выполнение умножения при определенных условиях : 29.06.2018, 10:02:36
Кросс
232  Основные форумы / Вопросы по Excel и VBA / Re:Оптимизация макроса : 28.06.2018, 20:18:39
Всегда, на всех флрумах, оформляйте код спец.тэгами
вот правка к коду которая заставит его работать быстрее
Код: (vb)
Sub d_rows()
    Dim i As Integer, LastRow As Integer
    If (Range("type").Value <> 5) Then
        With Application: .ScreenUpdating = False: .EnableEvents = False
        LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
        For i = LastRow To 1 Step -1
            If Cells(i, 1).Interior.ColorIndex = 6 Then Rows(i).Delete
        Next
        .ScreenUpdating = True: .EnableEvents = True: End With
    End If
End Sub
233  Основные форумы / Вопросы по Excel и VBA / Re:Оптимизация макроса : 28.06.2018, 10:20:32
нарушение правил форума п.4.25.
Исправьте и продолжим
234  Основные форумы / Вопросы по Excel и VBA / Re:Получить слово после последнего "-" или "/" : 22.06.2018, 08:32:06
=ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ("-"&ПОДСТАВИТЬ(A1;"/";ПОВТОР("-";50));50*1);1;50);"-";"")
235  Основные форумы / Вопросы по Excel и VBA / Re:Сделать запись в закрытом файле Excel с расширением .xlsm, .xlsb : 18.06.2018, 16:19:50
 а можно вообще одной строкой
Код: (vb)
Sub Insert2Excel()
    ExcelConnect("C:\Users\[UserName]\Desktop\File_for_writing_when_closed.xlsb").Execute "INSERT INTO [Sheet1$A:A] (F1) VALUES ('" & "Today is " & Date & ", the time is " & Time() & "')"
End Sub

и функция ExcelConnect, конечно
236  Основные форумы / Вопросы по Excel и VBA / Re:Сделать запись в закрытом файле Excel с расширением .xlsm, .xlsb : 18.06.2018, 15:55:27
Код: (vb)
Option Explicit
Const Folder$ = "C:\Users\[UserName]\Desktop\"
Const Filename$ = "File_for_writing_when_closed.xlsb"

Sub Insert2Excel()
    Dim sSQL$: sSQL = "INSERT INTO [Sheet1$A:A] (F1) VALUES ('" & "Today is " & Date & ", the time is " & Time() & "')"
    Dim CON As Object: Set CON = ExcelConnect(Folder & Filename)
    CON.Execute sSQL
    CON.Close
End Sub

Function ExcelConnect(ByVal PatchFile$, Optional TableHeader As Boolean = False) As Object
'TableHeader - Отметить True, если есть заголовки у таблицы и надо к столбцам обращаться по имени,
' иначе к столбцам можно обращаться F1, F2, F3 и т.д.
    Dim VersionFile$
    Dim strCon$
    Select Case Split(PatchFile, ".")(UBound(Split(PatchFile, ".")))
        Case "xls":  VersionFile = "Excel 8.0"
        Case "xlsb": VersionFile = "Excel 12.0"
        Case "xlsm": VersionFile = "Excel 12.0 Macro"
        Case "xlsx": VersionFile = "Excel 12.0 Xml"
    End Select
    strCon = "Provider=" & IIf(Val(Application.Version) > 11, "Microsoft.ACE.OLEDB.12.0", "Microsoft.Jet.OLEDB.4.0") & ";" & _
              "Data Source=""" & PatchFile & """;" & _
              "Extended Properties=""" & VersionFile & ";HDR=" & IIf(TableHeader, "YES", "NO") & """;"
    Set ExcelConnect = CreateObject("ADODB.Connection")
    ExcelConnect.Open strCon
End Function
237  Основные форумы / Вопросы по Excel и VBA / Re:Многократный фильтр с записью промежуточных итогов : 14.06.2018, 20:38:47
"пример расчета" в файле...
238  Основные форумы / Вопросы по Excel и VBA / Re:сделать переменую доступной для книги из другого экземпляра excel : 14.06.2018, 09:40:21
Просит изменить в соответствии с 64-битной системой.
Здесь подробнее от мелкософта, а Здесь примеры
239  Основные форумы / Вопросы по Excel и VBA / Re:сделать переменую доступной для книги из другого экземпляра excel : 14.06.2018, 01:14:38
Подсказка о декларировании
Код: (vb)

#If VBA7 Then       '  Code is running in the new VBA7 editor(Office 2010-2016)
     #If Win64 Then '  Code is running in 64-bit version of Microsoft Office
'        Dim i As LongLong
     #Else          '  Code is running in 32-bit version of Microsoft Office
'        Dim i As LongPtr
     #End If
#Else               ' Code is running in VBA version 6 or earlier(Office 2003-2007)
'        Dim i As Long
#End If
240  Основные форумы / Вопросы по Excel и VBA / Re:Многократный фильтр с записью промежуточных итогов : 14.06.2018, 01:03:02
пример расчета был бы кстати...
а то или мама - мачеха, или отец - отчим...
Страниц: 1 ... 14 15 [16] 17
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru