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

Вход

Регистрация

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

 

= Мир MS Excel/сравнение двух ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » сравнение двух ячеек (Формулы/Formulas)
сравнение двух ячеек
maksimbystrov Дата: Среда, 22.07.2015, 11:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

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

Автор - maksimbystrov
Дата добавления - 22.07.2015 в 11:41
Pelena Дата: Среда, 22.07.2015, 11:53 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Так, как Вы описываете, только макросом.
Но, если Вы опишите конечную цель, да ещё с файлом-примером, возможно найдётся другое решение.


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак, как Вы описываете, только макросом.
Но, если Вы опишите конечную цель, да ещё с файлом-примером, возможно найдётся другое решение.

Автор - Pelena
Дата добавления - 22.07.2015 в 11:53
maksimbystrov Дата: Среда, 22.07.2015, 12:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
приходят размеры, необходимо отфильтровать так, чтобы больший размер всегда был в первом столбце. В примере так чтобы 1500 всегда было в столбце А. Т.е. сравнить их и в случае если значение в столбце А меньше чем в В то поменять местами.
К сообщению приложен файл: 3664080.xlsx (8.4 Kb)
 
Ответить
Сообщениеприходят размеры, необходимо отфильтровать так, чтобы больший размер всегда был в первом столбце. В примере так чтобы 1500 всегда было в столбце А. Т.е. сравнить их и в случае если значение в столбце А меньше чем в В то поменять местами.

Автор - maksimbystrov
Дата добавления - 22.07.2015 в 12:19
maksimbystrov Дата: Среда, 22.07.2015, 13:01 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
ребята помогите
 
Ответить
Сообщениеребята помогите

Автор - maksimbystrov
Дата добавления - 22.07.2015 в 13:01
AlexM Дата: Среда, 22.07.2015, 13:17 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:B99"), Target) Is Nothing Then
Dim per As Double
Application.EnableEvents = False
If Range("B" & Target.Row) > Range("A" & Target.Row) Then
      per = Range("A" & Target.Row)
      Range("A" & Target.Row) = Range("B" & Target.Row)
      Range("B" & Target.Row) = per
End If
Application.EnableEvents = True
End If
End Sub
[/vba]
Код в модуле листа
Если числа целые, то вместо Double поставьте Long



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Среда, 22.07.2015, 13:19
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:B99"), Target) Is Nothing Then
Dim per As Double
Application.EnableEvents = False
If Range("B" & Target.Row) > Range("A" & Target.Row) Then
      per = Range("A" & Target.Row)
      Range("A" & Target.Row) = Range("B" & Target.Row)
      Range("B" & Target.Row) = per
End If
Application.EnableEvents = True
End If
End Sub
[/vba]
Код в модуле листа
Если числа целые, то вместо Double поставьте Long

Автор - AlexM
Дата добавления - 22.07.2015 в 13:17
AlexM Дата: Среда, 22.07.2015, 15:51 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4511
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Макрос обработки столбцов разом[vba]
Код
Sub Macros()
Dim Arr, per As Long
Arr = Range([A1], Range("B" & Rows.Count).End(xlUp))
For i = 1 To UBound(Arr)
     If Arr(i, 2) > Arr(i, 1) Then
     per = Arr(i, 1)
     Arr(i, 1) = Arr(i, 2)
     Arr(i, 2) = per
     End If
Next i
Range("A1").Resize(UBound(Arr), 2) = Arr
End Sub
[/vba]
Код в Модуле1
К сообщению приложен файл: 3664080_2.xls (33.5 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеМакрос обработки столбцов разом[vba]
Код
Sub Macros()
Dim Arr, per As Long
Arr = Range([A1], Range("B" & Rows.Count).End(xlUp))
For i = 1 To UBound(Arr)
     If Arr(i, 2) > Arr(i, 1) Then
     per = Arr(i, 1)
     Arr(i, 1) = Arr(i, 2)
     Arr(i, 2) = per
     End If
Next i
Range("A1").Resize(UBound(Arr), 2) = Arr
End Sub
[/vba]
Код в Модуле1

Автор - AlexM
Дата добавления - 22.07.2015 в 15:51
Мир MS Excel » Вопросы и решения » Вопросы по Excel » сравнение двух ячеек (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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