Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2014, 23:51   #1
Тандер
Пользователь
 
Регистрация: 03.01.2012
Сообщений: 58
По умолчанию Копирование с изменением цвета и сортировка

Здравствуйте! Приведённый ниже код копирует с листа 1 на лист 2 данные. Лист 1 одного цвета (бэкграунд), лист 2 - другого, соответственно данные копируются с бекграудом листа 1. Как можно дополнить код, чтобы бэкграунд листа 1 либо не копировался, либо чтобы при вставке вставлялся в бэкграунд цвет определённый?

Код:
Sub copy()

    Application.ScreenUpdating = False
    
    Dim lFinalRow As Long
    With Sheets(1)
        lFinalRow = .Cells(.Rows.Count, 11).End(xlUp).Row
        .Range(.Cells(lFinalRow - 100, 11), .Cells(lFinalRow, 17)).Copy Sheets(2).[a1]
    End With
    
    Application.ScreenUpdating = True
      
End Sub
И второй вопрос, после копирования, начиная со строки a1 идут цифровые данные, например:

Цитата:
10 30 99 71 85 34 17
17 22 35 44 51 31 04
Каким макросом можно их отсортировать, чтобы было так:

Цитата:
10 30 99 71 85 34 17
4 17 22 31 35 44 51
То есть по порядку.

Код есть, но им можно только отдельно каждую строку:

Например, A1:H1



Код:
Sub s()

    Selection.Sort Key1:=Selection, Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
        DataOption1:=xlSortNormal
End Sub
А как его переделать, чтобы можно было выделить диапизон A1:H50 и сортировака производилась по каждой строке от A1:H1 до A50:H50?

Спасибо!
Тандер вне форума Ответить с цитированием
Старый 12.02.2014, 12:50   #2
roborrr
Математик
Форумчанин
 
Регистрация: 27.02.2011
Сообщений: 123
По умолчанию

извините за неверный ответ

Последний раз редактировалось roborrr; 12.02.2014 в 13:02. Причина: неверный ответ
roborrr вне форума Ответить с цитированием
Старый 12.02.2014, 14:11   #3
roborrr
Математик
Форумчанин
 
Регистрация: 27.02.2011
Сообщений: 123
По умолчанию

For i = 1 To 50
ActiveWorkbook.ActiveSheet.Sort.Sor tFields.Clear
ActiveWorkbook.ActiveSheet.Sort.Sor tFields.Add Key:=Range(Cells(i, 1), Cells(i, 9)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range(Cells(i, 1), Cells(i, 9))
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
Next i
roborrr вне форума Ответить с цитированием
Старый 12.02.2014, 21:16   #4
Тандер
Пользователь
 
Регистрация: 03.01.2012
Сообщений: 58
По умолчанию

Спасибо!
Тандер вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
копирование строки по условию цвета rinariari Microsoft Office Excel 7 27.07.2012 16:46
Поочередный вывод значений в TextBox с изменением цвета ячейки marvi Microsoft Office Excel 3 08.05.2011 22:34
Кнопка с изменением ее цвета и картинки RuVarez Компоненты Delphi 2 06.05.2011 12:40
Расчет в ячейке с изменением цвета... Александр_63 Microsoft Office Excel 5 06.06.2010 13:02
Сортировка в StringGrid'е, копирование строк из одного SG в другой monushka Помощь студентам 3 29.10.2007 23:54