Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенести строки в таблице на освободившееся место - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенести строки в таблице на освободившееся место (Макросы/Sub)
Перенести строки в таблице на освободившееся место
китин Дата: Пятница, 02.06.2017, 12:05 | Сообщение № 1
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Доброго всем времени уважаемые!!!
Пытаюсь по заданию начальства сделать файлик для контроля выполнения и учета суточных заданий цеха. Почти все сделал, но осталась одна задача, которая мне пока не по силам. :'( %) . На листе ФРЗ.ОЦ при установке любого значения в диапазоне I4:I74 строчка перемещается на Лист сводная. Это реализовано. А вот как перенести оставшиеся строчки вверх на освободившееся место? Причем перенос делается только в пределах 8 строчек, ограниченных желтыми строчками.
вот макрос

и файл
К сообщению приложен файл: ___.xlsm (51.9 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеДоброго всем времени уважаемые!!!
Пытаюсь по заданию начальства сделать файлик для контроля выполнения и учета суточных заданий цеха. Почти все сделал, но осталась одна задача, которая мне пока не по силам. :'( %) . На листе ФРЗ.ОЦ при установке любого значения в диапазоне I4:I74 строчка перемещается на Лист сводная. Это реализовано. А вот как перенести оставшиеся строчки вверх на освободившееся место? Причем перенос делается только в пределах 8 строчек, ограниченных желтыми строчками.
вот макрос

и файл

Автор - китин
Дата добавления - 02.06.2017 в 12:05
and_evg Дата: Пятница, 02.06.2017, 12:19 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
китин, Добрый день. А между желтыми строчками всегда будет так? в смысле и пусты и заполненные строчки или все же должно быть в итоге оставаться только заполненные?
 
Ответить
Сообщениекитин, Добрый день. А между желтыми строчками всегда будет так? в смысле и пусты и заполненные строчки или все же должно быть в итоге оставаться только заполненные?

Автор - and_evg
Дата добавления - 02.06.2017 в 12:19
китин Дата: Пятница, 02.06.2017, 12:28 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Добрый!
Да всегда. То есть смысл такой: центру дается дневное задание ( максимально 8 деталей) мастер заполняет эти строчки ( от 1 детали до 8) . по мере готовности детали он ставит еденичку в столбец I напротив этой сделанной детали и вся строчка переносится на лист Сводная. на листе ФРЗ.ОЦ эта строчка очищается. хотелось бы, что бы еще существующие строчки перемещались вверх на освободившиеся строки.( То есть: осталсь 2 детали и они д.б. на верхних двух строчках)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеДобрый!
Да всегда. То есть смысл такой: центру дается дневное задание ( максимально 8 деталей) мастер заполняет эти строчки ( от 1 детали до 8) . по мере готовности детали он ставит еденичку в столбец I напротив этой сделанной детали и вся строчка переносится на лист Сводная. на листе ФРЗ.ОЦ эта строчка очищается. хотелось бы, что бы еще существующие строчки перемещались вверх на освободившиеся строки.( То есть: осталсь 2 детали и они д.б. на верхних двух строчках)

Автор - китин
Дата добавления - 02.06.2017 в 12:28
buchlotnik Дата: Пятница, 02.06.2017, 12:35 | Сообщение № 4
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Если правильно понял: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dat&, per&
per = ThisWorkbook.Sheets("сводная").Cells(Rows.Count, 1).End(xlUp).Row + 1
dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
     Target.Offset(0, -6).Resize(1, 5).Copy
      ThisWorkbook.Sheets("сводная").Activate
      ActiveSheet.Range("A" & per).PasteSpecial
      Selection.FormatConditions.Delete
      ThisWorkbook.Sheets("сводная").Range("F" & per).Value = Date
      ThisWorkbook.Sheets("сводная").Range("F" & per).Borders.LineStyle = xlContinuous
      ThisWorkbook.Sheets("ФРЗ.ОЦ").Activate
      Rows(Target.Row).Select
      Selection.Delete Shift:=xlUp
'      Target.Offset(0, -5).Resize(1, 6).ClearContents
    End If
End Sub

[/vba]
К сообщению приложен файл: -1-.xlsm (49.7 Kb)
 
Ответить
СообщениеЕсли правильно понял: [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim dat&, per&
per = ThisWorkbook.Sheets("сводная").Cells(Rows.Count, 1).End(xlUp).Row + 1
dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
     Target.Offset(0, -6).Resize(1, 5).Copy
      ThisWorkbook.Sheets("сводная").Activate
      ActiveSheet.Range("A" & per).PasteSpecial
      Selection.FormatConditions.Delete
      ThisWorkbook.Sheets("сводная").Range("F" & per).Value = Date
      ThisWorkbook.Sheets("сводная").Range("F" & per).Borders.LineStyle = xlContinuous
      ThisWorkbook.Sheets("ФРЗ.ОЦ").Activate
      Rows(Target.Row).Select
      Selection.Delete Shift:=xlUp
'      Target.Offset(0, -5).Resize(1, 6).ClearContents
    End If
End Sub

[/vba]

Автор - buchlotnik
Дата добавления - 02.06.2017 в 12:35
and_evg Дата: Пятница, 02.06.2017, 12:38 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
на вскидку вместо:[vba]
Код
Target.Offset(0, -5).Resize(1, 6).ClearContents
[/vba] вставьте
[vba]
Код
      Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
      ActiveCell.Offset(0, 1).End (xlDown).Select
      ActiveCell.Offset(0, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]


Сообщение отредактировал and_evg - Пятница, 02.06.2017, 12:41
 
Ответить
Сообщениена вскидку вместо:[vba]
Код
Target.Offset(0, -5).Resize(1, 6).ClearContents
[/vba] вставьте
[vba]
Код
      Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
      ActiveCell.Offset(0, 1).End (xlDown).Select
      ActiveCell.Offset(0, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]

Автор - and_evg
Дата добавления - 02.06.2017 в 12:38
and_evg Дата: Пятница, 02.06.2017, 12:43 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
buchlotnik, [vba]
Код
Rows(Target.Row).Select
    Selection.Delete Shift:=xlUp
[/vba] удаляет всю строку а у китин с права от таблицы справочник для ввода
 
Ответить
Сообщениеbuchlotnik, [vba]
Код
Rows(Target.Row).Select
    Selection.Delete Shift:=xlUp
[/vba] удаляет всю строку а у китин с права от таблицы справочник для ввода

Автор - and_evg
Дата добавления - 02.06.2017 в 12:43
китин Дата: Пятница, 02.06.2017, 12:46 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Миша у тебя удаляет строки, а их д.б. 8 шт. между желтыми


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеМиша у тебя удаляет строки, а их д.б. 8 шт. между желтыми

Автор - китин
Дата добавления - 02.06.2017 в 12:46
китин Дата: Пятница, 02.06.2017, 12:49 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Андрей то же самое. уменьшает количество строк. да еще выкидывает на последнюю ячейку листа


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеАндрей то же самое. уменьшает количество строк. да еще выкидывает на последнюю ячейку листа

Автор - китин
Дата добавления - 02.06.2017 в 12:49
buchlotnik Дата: Пятница, 02.06.2017, 12:50 | Сообщение № 9
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Накинулись, коршуны. Ну не понял :)
Тогда так [vba]
Код
Target.Offset(0, -6).Resize(1, 7).Select
      Selection.Delete Shift:=xlUp
[/vba]
 
Ответить
СообщениеНакинулись, коршуны. Ну не понял :)
Тогда так [vba]
Код
Target.Offset(0, -6).Resize(1, 7).Select
      Selection.Delete Shift:=xlUp
[/vba]

Автор - buchlotnik
Дата добавления - 02.06.2017 в 12:50
and_evg Дата: Пятница, 02.06.2017, 12:59 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
китин, Упс... оЧеПятка. должно быть:
[vba]
Код
      Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
      ActiveCell.Offset(0, -5).End(xlDown).Select
      ActiveCell.Offset(1, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]
Удаляет, но в конце добавляет строчку
 
Ответить
Сообщениекитин, Упс... оЧеПятка. должно быть:
[vba]
Код
      Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
      ActiveCell.Offset(0, -5).End(xlDown).Select
      ActiveCell.Offset(1, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]
Удаляет, но в конце добавляет строчку

Автор - and_evg
Дата добавления - 02.06.2017 в 12:59
китин Дата: Пятница, 02.06.2017, 13:36 | Сообщение № 11
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
мдя. все оказывается не так просто. :'(
Если ставить 1 в первой восьмерке на второй строчке, то удаляется эта вторая строчка. а добавляется во вторую восьмерку. и в первой восьмерке 7 строк а во второй 9
К сообщению приложен файл: ____1.xlsm (52.8 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Пятница, 02.06.2017, 13:36
 
Ответить
Сообщениемдя. все оказывается не так просто. :'(
Если ставить 1 в первой восьмерке на второй строчке, то удаляется эта вторая строчка. а добавляется во вторую восьмерку. и в первой восьмерке 7 строк а во второй 9

Автор - китин
Дата добавления - 02.06.2017 в 13:36
KuklP Дата: Пятница, 02.06.2017, 13:44 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Игорь, как вариант, в файле не пробовал:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&, per&
    dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        With ThisWorkbook.Sheets("сводная")
            per = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
            .Range("A" & per).Resize(1, 5).FormatConditions.Delete
            With .Range("F" & per)
                .Value = Date: .Borders.LineStyle = xlContinuous
            End With
        End With
        Target.Offset(0, -6).Resize(1, 7).Delete xlUp
    End If
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 02.06.2017, 13:46
 
Ответить
СообщениеИгорь, как вариант, в файле не пробовал:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&, per&
    dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        With ThisWorkbook.Sheets("сводная")
            per = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
            .Range("A" & per).Resize(1, 5).FormatConditions.Delete
            With .Range("F" & per)
                .Value = Date: .Borders.LineStyle = xlContinuous
            End With
        End With
        Target.Offset(0, -6).Resize(1, 7).Delete xlUp
    End If
End Sub
[/vba]

Автор - KuklP
Дата добавления - 02.06.2017 в 13:44
buchlotnik Дата: Пятница, 02.06.2017, 13:46 | Сообщение № 13
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Игорь, так тебе структуру сохранять надо? Может тогда проще фильтром? [vba]
Код
ActiveSheet.Range("$C$2:$I$157").AutoFilter Field:=7
    ActiveSheet.Range("$C$2:$I$157").AutoFilter Field:=7, Criteria1:="="

'          Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
'     ActiveCell.Offset(0, -5).End(xlDown).Select
'     ActiveCell.Offset(1, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]
К сообщению приложен файл: _1.xlsm (51.5 Kb)
 
Ответить
СообщениеИгорь, так тебе структуру сохранять надо? Может тогда проще фильтром? [vba]
Код
ActiveSheet.Range("$C$2:$I$157").AutoFilter Field:=7
    ActiveSheet.Range("$C$2:$I$157").AutoFilter Field:=7, Criteria1:="="

'          Target.Offset(0, -6).Resize(1, 7).Delete Shift:=xlUp
'     ActiveCell.Offset(0, -5).End(xlDown).Select
'     ActiveCell.Offset(1, -1).Resize(1, 7).Insert Shift:=xlDown
[/vba]

Автор - buchlotnik
Дата добавления - 02.06.2017 в 13:46
and_evg Дата: Пятница, 02.06.2017, 13:54 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 452
Репутация: 78 ±
Замечаний: 0% ±

Excel 2007
мдя. все оказывается не так просто.

ага, ориентировался на максимальную заполненность восьмерки %)
 
Ответить
Сообщение
мдя. все оказывается не так просто.

ага, ориентировался на максимальную заполненность восьмерки %)

Автор - and_evg
Дата добавления - 02.06.2017 в 13:54
китин Дата: Суббота, 03.06.2017, 09:51 | Сообщение № 15
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
как вариант, в файле не пробовал:

Сергей спасибо, но та же беда: строк между желтыми д.б. 8. а у тебя строки удаляются


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
как вариант, в файле не пробовал:

Сергей спасибо, но та же беда: строк между желтыми д.б. 8. а у тебя строки удаляются

Автор - китин
Дата добавления - 03.06.2017 в 09:51
KuklP Дата: Суббота, 03.06.2017, 14:51 | Сообщение № 16
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Только я закомментил все остальные процедуры в модуле, ибо мешало.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&, per&, r As Range, a, i&, n&, j&, c As Range
    dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        With ThisWorkbook.Sheets("сводная")
            per = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
            .Range("A" & per).Resize(1, 5).FormatConditions.Delete
            With .Range("F" & per)
                .Value = Date: .Borders.LineStyle = xlContinuous
            End With
        End With
        Target.Offset(0, -6).Resize(1, 7).ClearContents
        Set c = Target
        Do
            Set c = c.Offset(-1)
        Loop While c.Interior.ColorIndex <> 6
        Set r = Cells(c.Row, 3).Offset(1).Resize(8, 7)
        a = r.Value: n = 0
        For i = 1 To UBound(a)
            If a(i, 2) <> "" Then
                n = n + 1
                For j = 1 To UBound(a, 2)
                    a(n, j) = a(i, j)
                Next
            End If
        Next
        r.ClearContents: r.Range("a1").Resize(n, UBound(a, 2)) = a
    End If
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТолько я закомментил все остальные процедуры в модуле, ибо мешало.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&, per&, r As Range, a, i&, n&, j&, c As Range
    dat = Cells(Rows.Count, 4).End(xlUp).Row
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        With ThisWorkbook.Sheets("сводная")
            per = .Cells(Rows.Count, 1).End(xlUp).Row + 1
            Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
            .Range("A" & per).Resize(1, 5).FormatConditions.Delete
            With .Range("F" & per)
                .Value = Date: .Borders.LineStyle = xlContinuous
            End With
        End With
        Target.Offset(0, -6).Resize(1, 7).ClearContents
        Set c = Target
        Do
            Set c = c.Offset(-1)
        Loop While c.Interior.ColorIndex <> 6
        Set r = Cells(c.Row, 3).Offset(1).Resize(8, 7)
        a = r.Value: n = 0
        For i = 1 To UBound(a)
            If a(i, 2) <> "" Then
                n = n + 1
                For j = 1 To UBound(a, 2)
                    a(n, j) = a(i, j)
                Next
            End If
        Next
        r.ClearContents: r.Range("a1").Resize(n, UBound(a, 2)) = a
    End If
End Sub
[/vba]

Автор - KuklP
Дата добавления - 03.06.2017 в 14:51
RAN Дата: Воскресенье, 04.06.2017, 12:53 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Если удалить из столбца С дубликаты, скрытые белым шрифтом, то можно так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&
    Dim ar1, ar2, eR&
    dat = Columns("E").Find("Нач.мех.цеха", , , xlPart).Row - 2
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        If Target = 1 Then
            If Len(Cells(Target.Row, 3)) Then Exit Sub
            eR = Cells(Target.Row, 3).End(xlDown).Row - 1
            If eR > dat Then eR = dat
            ar1 = Cells(Target.Row, 3).Resize(, 6).Value
            ar1(1, 1) = Cells(Target.Row, 3).End(xlUp).Value
            Sheets("сводная").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6).Value = ar1
            If eR - Target.Row Then
                ar2 = Cells(Target.Row + 1, 4).Resize(eR - Target.Row, 5).Value
                Cells(Target.Row, 4).Resize(eR - Target.Row, 5).Value = ar2
            Else
                Cells(Target.Row, 4).Resize(, 5).ClearContents
            End If
            Cells(Target.Row, "I").ClearContents
        End If
    End If
End Sub
[/vba]
А дабы не париться с форматированием на листе сводная, сделать там умную таблицу.
К сообщению приложен файл: 2830419.xlsm (49.4 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЕсли удалить из столбца С дубликаты, скрытые белым шрифтом, то можно так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim dat&
    Dim ar1, ar2, eR&
    dat = Columns("E").Find("Нач.мех.цеха", , , xlPart).Row - 2
    If Not Intersect(Target, Range("I4:I" & dat)) Is Nothing Then
        If Target = 1 Then
            If Len(Cells(Target.Row, 3)) Then Exit Sub
            eR = Cells(Target.Row, 3).End(xlDown).Row - 1
            If eR > dat Then eR = dat
            ar1 = Cells(Target.Row, 3).Resize(, 6).Value
            ar1(1, 1) = Cells(Target.Row, 3).End(xlUp).Value
            Sheets("сводная").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 6).Value = ar1
            If eR - Target.Row Then
                ar2 = Cells(Target.Row + 1, 4).Resize(eR - Target.Row, 5).Value
                Cells(Target.Row, 4).Resize(eR - Target.Row, 5).Value = ar2
            Else
                Cells(Target.Row, 4).Resize(, 5).ClearContents
            End If
            Cells(Target.Row, "I").ClearContents
        End If
    End If
End Sub
[/vba]
А дабы не париться с форматированием на листе сводная, сделать там умную таблицу.

Автор - RAN
Дата добавления - 04.06.2017 в 12:53
KuklP Дата: Воскресенье, 04.06.2017, 19:40 | Сообщение № 18
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Если удалить из столбца С дубликаты, скрытые белым шрифтом
отож и меня они достали, ориентировался по цвету.. %) Что сам же всегда ругаю в форумах.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Если удалить из столбца С дубликаты, скрытые белым шрифтом
отож и меня они достали, ориентировался по цвету.. %) Что сам же всегда ругаю в форумах.

Автор - KuklP
Дата добавления - 04.06.2017 в 19:40
китин Дата: Понедельник, 05.06.2017, 11:42 | Сообщение № 19
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Всем СПАСИБО. Взял в работу вариант KuklP,


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеВсем СПАСИБО. Взял в работу вариант KuklP,

Автор - китин
Дата добавления - 05.06.2017 в 11:42
китин Дата: Четверг, 15.06.2017, 13:31 | Сообщение № 20
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Всем доброго времени!!! Прошу помощи, у самого ума не хватает :'(
Попытался немного изменить код Сергея KuklP, в этих строчках
[vba]
Код
Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
.Range("A" & per).Resize(1, 5).FormatConditions.Delete
[/vba]
поменял [vba]
Код
Resize(1, 5)
[/vba]на [vba]
Код
Resize(1, 6)
[/vba]
стали удалятся значения ( скрыты белым шрифтом) из столбца С. а это ниизя!!! что поменять в коде?
К сообщению приложен файл: 6872539.xlsm (52.2 Kb)


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеВсем доброго времени!!! Прошу помощи, у самого ума не хватает :'(
Попытался немного изменить код Сергея KuklP, в этих строчках
[vba]
Код
Target.Offset(0, -6).Resize(1, 5).Copy .Range("A" & per)
.Range("A" & per).Resize(1, 5).FormatConditions.Delete
[/vba]
поменял [vba]
Код
Resize(1, 5)
[/vba]на [vba]
Код
Resize(1, 6)
[/vba]
стали удалятся значения ( скрыты белым шрифтом) из столбца С. а это ниизя!!! что поменять в коде?

Автор - китин
Дата добавления - 15.06.2017 в 13:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенести строки в таблице на освободившееся место (Макросы/Sub)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!