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

Страницы: 1 2 След.
Макрос выдает ошибку при работе с большим количеством данных
 
Повторить ошибку, думаю путем добавления в имеющемся файле (что залил) на Лист1 строчку с данными (4-я строчка) 500 раз, и перейти на Лист2, где указать любую цифру, запуститься макрос...
Макрос выдает ошибку при работе с большим количеством данных
 
При обработке макросом 544 строк ошибка воспроизводится, при малом значении - нет.
Макрос выдает ошибку при работе с большим количеством данных
 
И действительно... Согласен... Спасибо за подсказку! Убрал цикл For i = 3 To iLastRow...Next. И теперь всё равно выскакивает плавающая ошибка http://clip2net.com/s/3qci2yA .
Подскажите как её распознать? В какой строке?
Макрос выдает ошибку при работе с большим количеством данных
 
Подскажите возможные варианты решения вопроса! Пожалуйста.
Макрос выдает ошибку http://clip2net.com/s/3qaeaRk при работе с большим количеством данных. Файл представляет собой 30 различных услуг с ценами и временем работ http://clip2net.com/s/3qauYqX - Лист1. Лист2 - после обработке макросом http://clip2net.com/s/3qavXgz. Пока в файле 544 строки - 548 КБ. Будет больше.
При малом количестве - макрос отрабатывает.
Приложил файл только с одной строкой.
Изменено: martin_man - 11.11.2015 16:48:16
Удаление строк по условию, что в 3-ёх столбцах пусто
 
Спасибо, Казанский, правильно меня поняли.
Извиняюсь кого отвлек от дел!
Всем еще раз спасибо!
Удаление строк по условию, что в 3-ёх столбцах пусто
 
Добрый день.
Использую макрос
Код
Sub Del_Empty_Rows()
 Const lCol As Long = 6
        Const lFirstRow As Long = 2
        Dim li As Long, lLastRow As Long, lCalc As Long
    With Application
        .ScreenUpdating = 0: lCalc = .Calculation: .Calculation = xlManual
        For li = ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count - 1 To lFirstRow Step -1
        If Cells(li, lCol) = "" Then Rows(li).Delete
        Next li
        .ScreenUpdating = 1: .Calculation = lCalc
    End With
End Sub

Удаляет строки, когда в 6 столбце ячейка пустая. Подскажите пожалуйста, как изменить условие, чтоб строки удалялись, если в строке ячейки пустые в 6,7,8 столбцах.
Спасибо.
Преобразование одной таблицы в другую
 
Спасибо всем за мой монолог))
Огромное спасибо Kuzmich, действительно спасибо.
Во всем разобрался, стало намного все очевиднее!
Преобразование одной таблицы в другую
 
Доброе утро всем.
Убрал повторяющиеся строки (по условия повторения значений в столбцах C, E, F, G). Но это не выход, так как реальная таблица имеет диапазон столбцов: A:DA. Подскажите пожалуйста, как изменить макрос, чтоб не создавались три одинаковые строки на Лист2, и не было необходимости потом их удалять.

Код
Private Sub Worksheet_Activate()
Dim i As Long
Dim j As Integer
Dim k&, l&, mr&
Dim iLastRow As Long
Dim iLastRow2 As Long
   Application.ScreenUpdating = False
   Cells.Clear
    iLastRow2 = Cells(Rows.Count, 1).End(xlUp).Row + 1
    With Sheets("Лист1")
      iLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
      For i = 3 To iLastRow
       If Not IsEmpty(.Cells(i, 7)) Then
         For j = 4 To 6
          .Range(.Cells(i, 1), .Cells(i, 8)).Copy Cells(iLastRow2, 1)
           Cells(iLastRow2, 4) = .Cells(1, 4)
           Cells(iLastRow2, 5) = .Cells(i, 4)
           Cells(iLastRow2, 6) = .Cells(i, 5)
           Cells(iLastRow2, 7) = .Cells(i, 6)
           Cells(iLastRow2, 8) = .Cells(i, 7)
           iLastRow2 = iLastRow2 + 1

         Next
       End If
      Next
      
     mr = Range("A1").CurrentRegion.Rows.Count
    For k = 3 To mr
        For l = mr To k + 1 Step -1
            If Len(Cells(k, 1)) Then
                If Cells(k, "C") = Cells(l, "C") Then
                  If Cells(k, "E") = Cells(l, "E") Then
                    If Cells(k, "F") = Cells(l, "F") Then
                        If Cells(k, "G") = Cells(l, "G") Then
                            Rows(l).Delete
                        End If
                    End If
                  End If
                End If
            Else: Exit Sub
            End If
        Next l
    Next k
     
    End With
     
     Application.ScreenUpdating = True

End Sub
Преобразование одной таблицы в другую
 
Вывел в таблицу на  лист2 в строку то, что нужно было, цены в столбцы E, F, G (Стоимость работ; Работы + ориг.запчасти; Работы+неоригин.запчасти - соответственно). Но строка создается трижды. Подскажите как исправить, пожалуйста.
Преобразование одной таблицы в другую
 
Я не понял вашего решения, по-моему совсем него.
Преобразование одной таблицы в другую
 
Попробую еще подумать, надеюсь получится.
Преобразование одной таблицы в другую
 
Да, там буквально в одной строчке изменения вносил, + дописал чтоб удалялись строки, где не указана цена
Преобразование одной таблицы в другую
 
Автомобилей может быть намного больше. Суть в том, что сейчас преобразует таблицу с "Лист1" на "Лист2" в такой вид:

Toyota Camry 2.0 AT (148 л.с.) бензин Плановое ТО 15000 км Стоимость работ 3000 120
Toyota Camry2.0 AT (148 л.с.) бензин Плановое ТО 15000 км Работы + ориг.запчасти 3500 120
Toyota Camry 2.0 AT (148 л.с.) бензин Плановое ТО 15000 км Работы+неоригин.запчасти 3200 120
т.е. каждую из стоимостей (Стоимость работ=3000; Работы + ориг.запчасти=3500; Работы+неоригин.запчасти=3200) для услуги=Плановое ТО 15000 км для автомобиля=Toyota, Camry, 2.0 AT (148 л.с.) бензин, макрос расписывает в три строчки.
Необходимо преобразовать таблицу с "Лист1" на "Лист2" в такой вид:

ToyotaCamry2.0 AT (148   л.с.) бензинПлановое ТО   15000 км300035003200120
т.е. чтоб все стоимости (Стоимость работ=3000; Работы + ориг.запчасти=3500; Работы+неоригин.запчасти=3200) для услуги=Плановое ТО 15000 км для автомобиля=Toyota, Camry, 2.0 AT (148 л.с.) бензин, макрос упорядочил в одну строку.
Изменено: martin_man - 06.07.2015 17:15:13
Преобразование одной таблицы в другую
 
Извиняюсь, не понял. На Лист2 в файле 06072015.xlsm - таблица как есть сейчас, в файле new.xlsx - как необходимо.
Изменено: martin_man - 06.07.2015 13:53:56
Преобразование одной таблицы в другую
 
Сейчас так, для определенного авто для каждой из услуг есть три различные цены, а именно Стоимость работ, Работы + ориг.запчасти, Работы+неоригин.запчасти, т.е. выводит в три строчки:
Toyota; Camry; 2.0 AT (148 л.с.) бензин; Плановое ТО 15000 км; Стоимость работ 3000; 120;
Toyota; Camry; 2.0 AT (148 л.с.) бензин; Плановое ТО 15000 км; Работы + ориг.запчасти; 3500; 120;
Toyota; Camry; 2.0 AT (148 л.с.) бензин; Плановое ТО 15000 км; Работы+неоригин.запчасти; 3200; 120;

Но задачу сейчас изменили, необходимо чтоб выводило так:
Toyota; Camry; 2.0 AT (148 л.с.) бензин; Плановое ТО 15000 км; 3000; 3500; 3200; 120; т.е. три цены для услуги в строчку и не подписывать их (Стоимость работ, Работы + ориг.запчасти, Работы+неоригин.запчасти)
Преобразование одной таблицы в другую
 
Здравствуйте.
Буду рад помощи!
Стояла задача по наполнению одной таблицы на Лист1, формировать таблицу на Лист2, цены: Стоимость работ, Работы + ориг.запчасти, Работы+неоригин. запчасти - выводить для услуг в отдельную строчку, что было и реализовано. Сейчас задача видоизменена - для услуг, цены: Стоимость работ, Работы + ориг.запчасти, Работы+неоригин. запчасти - выводить в одну строку по столбцам, т.е., например, строка должна иметь вид: Toyota; Camry; 2.0 AT (148 л.с.) бензин; Плановое ТО 15000 км; 3000; 3500; 3200; 120.
Формирование таблицы из значений другой таблицы
 
Спасибо, заменил на второй вариант, с первого взгляда то, что надо. Потестирую сейчас.
Формирование таблицы из значений другой таблицы
 
Здравствуйте.
Задачу расширили, добавили еще услугу.
Набросал код на основе кода Kuzmich, за что ему отдельное спасибо.

Возник вопрос в том, что в Листе2 не создаются строки, если в столбце D не указана цена. Т.е. если в столбце D указана цена, то создаются все 3 строки с услугой и ценами: Стоимость работ, Стоимость работы + ориг.запчасти, Стоимость работы+неоригин.запчасти. А если в столбцах E,F (а в D нет) указана цена, то строки на Листе2 не создаются.
Подскажите пожалуйста как справиться с задачей.
Изменено: martin_man - 28.06.2015 22:03:54
Формирование таблицы из значений другой таблицы
 
Спасибо всем кто откликнулся!
Есть продолжение задачи, но попробую сначала сам разобраться.
Формирование таблицы из значений другой таблицы
 
Например? Можете помочь?
Формирование таблицы из значений другой таблицы
 
т.е. необходимо перебирать ячейки столбца Е,F, G на предмет наличия числового значения, а затем выводить из соответствующей строки таблицы значения: Марка, Модель, Модификация, Название услуги (Плановое ТО 15000 км), Услугу без либо с запчастями, Стоимость Услуги, Время
Формирование таблицы из значений другой таблицы
 
Добрый день, возможно.
Я читал про данную функцию, но не понял.
На Листе2 то, что должно получится.
Формирование таблицы из значений другой таблицы
 
Добрый день, уважаемые специалисты.
Помогите, пожалуйста, со следующей задачей: Если на Листе1 в ячейках столбцов Е, F, G есть числовое значение, допустим в ячейках: Е8 (равна 3000), F8 (равна 6000), G8 (равна 4000), Е16 (равна 3500), F16 (равна 7000), G16 (равна 4800), то на Листе2, необходимо, например для E8, вывести в строку значения ячеек А8, B8, C8, E1, E2, H2 в указанном порядке, т.е.: Toyota, Camry, 2.4 AT (167 л.с.) бензин, Плановое ТО 15000 км, Стоимость работ, 3000, 120. И так выводить строки с соответствующими значениями для всех имеющихся числовых значений в столбцах Е, F, G.
Вставка и удаление строк в защищенном листе
 
Всё равно немного не понял, вот у меня есть файл, когда он не защищен, меня полностью устраивает работа макросов, когда защита вкл., макросы не работают(
пароль 123
Изменено: martin_man - 24.12.2013 14:33:12
Вставка и удаление строк в защищенном листе
 
Помогите пожалуйста...
Есть макросы для вставки и удаления строк, которые почему-то не работают, помогите разобраться.
(лист "ЭОС" защищен - 123)
Большое спасибо заранее.
Макрос по удалению строк и столбцов
 
извините, спасибо за помощь
всё понял, всё получилось)
Макрос по удалению строк и столбцов
 
сейчас по-пробую
Изменено: martin_man - 18.12.2013 23:23:51 (навожу чистоту и порядок на форуме))
Макрос по удалению строк и столбцов
 
Здравствуйте, понимаю что тема изъезжена...
Но написанию макросов только учусь, а помощь нужна сейчас...
Необходимо чтобы макрос по удалению строк, удалял строки (как он и работает), но
когда останется одна под № п/п = 1, ["А4"], не удалял её.
Заранее спасибо.
Изменено: martin_man - 18.12.2013 22:14:44
Невозможно внести изменения в ячейке Microsoft Excel
 
да, спасибо
Невозможно внести изменения в ячейке Microsoft Excel
 
Да, но сама кнопка "снять защиту листа " всё равно не активна.
Страницы: 1 2 След.
Наверх