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

Вход

Регистрация

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

 

= Мир MS Excel/Сортировка строк. Всю строку по первой ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка строк. Всю строку по первой ячейке (Макросы Sub)
Сортировка строк. Всю строку по первой ячейке
DAKRAY Дата: Четверг, 19.12.2013, 20:10 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2003
Доброго времени суток, уважаемые!

Я сделал форму, для заполнения-добавления реквизитов новой фирмы.
При нажатии кнопки Close, форма закрывается и сортирует реквизиты по названию фирмы.

Проблема: сортирует по первой колонне (названию фирмы), но так же сортирует и все остальные колонны, а надо бы переносить все остальные реквизиты вместе им соответсвующей фирмой. Для наглядности пометил строки цветами.

Вот код кнопки выхода:

[vba]
Код
Private Sub CommandButton2_Click()
     Dim abc As Object
     For Each abc In Range("A2:E1000").Columns
     abc.Sort abc, xlAscending, Header:=xlNo, Orientation:=xlSortColumns
     Next
     Unload Me
End Sub
[/vba]

Поможете, многоуважаемые?
Спасибо за отзывчивость!

П.С. Файло-пример в приложении.
П.П.С Если не сложно пишите кодом, файлы у меня почему-то скачанные из интернета не пашут (возможно из-за того, что рус версии).

С уважением, Эдгар
К сообщению приложен файл: rekv.xls (42.0 Kb)
 
Ответить
СообщениеДоброго времени суток, уважаемые!

Я сделал форму, для заполнения-добавления реквизитов новой фирмы.
При нажатии кнопки Close, форма закрывается и сортирует реквизиты по названию фирмы.

Проблема: сортирует по первой колонне (названию фирмы), но так же сортирует и все остальные колонны, а надо бы переносить все остальные реквизиты вместе им соответсвующей фирмой. Для наглядности пометил строки цветами.

Вот код кнопки выхода:

[vba]
Код
Private Sub CommandButton2_Click()
     Dim abc As Object
     For Each abc In Range("A2:E1000").Columns
     abc.Sort abc, xlAscending, Header:=xlNo, Orientation:=xlSortColumns
     Next
     Unload Me
End Sub
[/vba]

Поможете, многоуважаемые?
Спасибо за отзывчивость!

П.С. Файло-пример в приложении.
П.П.С Если не сложно пишите кодом, файлы у меня почему-то скачанные из интернета не пашут (возможно из-за того, что рус версии).

С уважением, Эдгар

Автор - DAKRAY
Дата добавления - 19.12.2013 в 20:10
RAN Дата: Четверг, 19.12.2013, 20:37 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub CommandButton2_Click()
     Range("A:E").Sort Range("A1"), xlAscending, Header:=xlYes, Orientation:=xlSortColumns
     Unload Me
End Sub
[/vba]
Нет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Private Sub CommandButton2_Click()
     Range("A:E").Sort Range("A1"), xlAscending, Header:=xlYes, Orientation:=xlSortColumns
     Unload Me
End Sub
[/vba]
Нет?

Автор - RAN
Дата добавления - 19.12.2013 в 20:37
DAKRAY Дата: Четверг, 19.12.2013, 20:49 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2003
ДА!

Отлично! Уберблагодарен.
Песни не пишите могу музыку подогнать в знак благодарности)) Пишу.)
 
Ответить
СообщениеДА!

Отлично! Уберблагодарен.
Песни не пишите могу музыку подогнать в знак благодарности)) Пишу.)

Автор - DAKRAY
Дата добавления - 19.12.2013 в 20:49
DAKRAY Дата: Пятница, 20.12.2013, 17:37 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2003
Надеюсь меня не накажут, если задам еще один вопрос.
Просто он касается того же файла и той же формы.

Ну никак не получается написать, чтобы при вводе названия фирмы, он сравнивал весь первый столбец, и если такое название уже есть в списке реквизитов, то выкинуть MessageBox. Я пробовал по разному, пока результат кривой совсем:

[vba]
Код
If Trim(Me.TextBox1.Value) = Cells(ActiveCell.Row, 1).Value Then
Me.TextBox1.SetFocus
MsgBox "Jau atrodas datubaze!"
Exit Sub
End If
[/vba]

Т.е. окно выкидывает только тогда, если я пытаюсь ввести такое же название, как на активизированной ячейке(ActiveCell.Row).
Поправьте, пжл, если не трудно. Замучился.
 
Ответить
СообщениеНадеюсь меня не накажут, если задам еще один вопрос.
Просто он касается того же файла и той же формы.

Ну никак не получается написать, чтобы при вводе названия фирмы, он сравнивал весь первый столбец, и если такое название уже есть в списке реквизитов, то выкинуть MessageBox. Я пробовал по разному, пока результат кривой совсем:

[vba]
Код
If Trim(Me.TextBox1.Value) = Cells(ActiveCell.Row, 1).Value Then
Me.TextBox1.SetFocus
MsgBox "Jau atrodas datubaze!"
Exit Sub
End If
[/vba]

Т.е. окно выкидывает только тогда, если я пытаюсь ввести такое же название, как на активизированной ячейке(ActiveCell.Row).
Поправьте, пжл, если не трудно. Замучился.

Автор - DAKRAY
Дата добавления - 20.12.2013 в 17:37
nilem Дата: Пятница, 20.12.2013, 18:06 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
попробуйте вот так:
[vba]
Код
Private Sub CommandButton1_Click()
Dim i&
If Trim(Me.TextBox1.Value) = "" Then
       Me.TextBox1.SetFocus
       MsgBox "Ievadi firmas nosaukumu!", 64
       Exit Sub
End If
If WorksheetFunction.CountIf(Sheets("Sheet1").Columns(1), Me.TextBox1) > 0 Then _
      MsgBox "Such firm already exists", 64: Exit Sub

Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)(2).Resize(, 5).Value = _
Array(Me.TextBox1.Value, Me.TextBox2.Value, Me.TextBox3.Value, Me.TextBox4.Value, Me.TextBox5.Value)

For i = 1 To 5
       Me.Controls("TextBox" & i).Value = vbNullString
Next
Me.TextBox1.SetFocus
End Sub
[/vba]
ПС цикл и Array можно объединить. А можно и так оставить
[offtop]ПС2 пишу пестни :)
если песня без музыки - это ведь тоже как-то называется?[/offtop]


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Пятница, 20.12.2013, 18:10
 
Ответить
Сообщениепопробуйте вот так:
[vba]
Код
Private Sub CommandButton1_Click()
Dim i&
If Trim(Me.TextBox1.Value) = "" Then
       Me.TextBox1.SetFocus
       MsgBox "Ievadi firmas nosaukumu!", 64
       Exit Sub
End If
If WorksheetFunction.CountIf(Sheets("Sheet1").Columns(1), Me.TextBox1) > 0 Then _
      MsgBox "Such firm already exists", 64: Exit Sub

Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp)(2).Resize(, 5).Value = _
Array(Me.TextBox1.Value, Me.TextBox2.Value, Me.TextBox3.Value, Me.TextBox4.Value, Me.TextBox5.Value)

For i = 1 To 5
       Me.Controls("TextBox" & i).Value = vbNullString
Next
Me.TextBox1.SetFocus
End Sub
[/vba]
ПС цикл и Array можно объединить. А можно и так оставить
[offtop]ПС2 пишу пестни :)
если песня без музыки - это ведь тоже как-то называется?[/offtop]

Автор - nilem
Дата добавления - 20.12.2013 в 18:06
SkyPro Дата: Пятница, 20.12.2013, 18:11 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[offtop]
если песня без музыки - это ведь тоже как-то называется?
ага. Стихами раньше называли :)


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 20.12.2013, 18:12
 
Ответить
Сообщение[offtop]
если песня без музыки - это ведь тоже как-то называется?
ага. Стихами раньше называли :)

Автор - SkyPro
Дата добавления - 20.12.2013 в 18:11
DAKRAY Дата: Пятница, 20.12.2013, 18:17 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2003
Что-то тут не ладно. А где End If

Если вставляю в код это, то выдает сообщение о том, что такая фирма уже есть - ОК!
Но если нет, то не заполняет почему-то.(
 
Ответить
СообщениеЧто-то тут не ладно. А где End If

Если вставляю в код это, то выдает сообщение о том, что такая фирма уже есть - ОК!
Но если нет, то не заполняет почему-то.(

Автор - DAKRAY
Дата добавления - 20.12.2013 в 18:17
SkyPro Дата: Пятница, 20.12.2013, 18:26 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
А зачем он там?
При записи условия в одну строку энд иф не ставится.


skypro1111@gmail.com
 
Ответить
СообщениеА зачем он там?
При записи условия в одну строку энд иф не ставится.

Автор - SkyPro
Дата добавления - 20.12.2013 в 18:26
nilem Дата: Пятница, 20.12.2013, 18:43 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Эдгар, вот ваш файлик. Вставил код RAN и свой тоже.

[offtop]Все-таки стихи - это стихи. А песня без музыки - это как-то по-другому. Мне кажется :)[/offtop]
К сообщению приложен файл: rekv2.xls (61.5 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеЭдгар, вот ваш файлик. Вставил код RAN и свой тоже.

[offtop]Все-таки стихи - это стихи. А песня без музыки - это как-то по-другому. Мне кажется :)[/offtop]

Автор - nilem
Дата добавления - 20.12.2013 в 18:43
antal10 Дата: Пятница, 20.12.2013, 19:56 | Сообщение № 10
Группа: Проверенные
Ранг: Участник
Сообщений: 58
Репутация: 8 ±
Замечаний: 0% ±

Excel 2013
Если вставляю в код это, то выдает сообщение о том, что такая фирма уже есть - ОК!
Но если нет, то не заполняет почему-то.(


Вы так и напишите, что вставляете код в другой файл не тот который выложили, и макрос не заполняет.
 
Ответить
Сообщение
Если вставляю в код это, то выдает сообщение о том, что такая фирма уже есть - ОК!
Но если нет, то не заполняет почему-то.(


Вы так и напишите, что вставляете код в другой файл не тот который выложили, и макрос не заполняет.

Автор - antal10
Дата добавления - 20.12.2013 в 19:56
DAKRAY Дата: Пятница, 20.12.2013, 20:25 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 1 ±
Замечаний: 0% ±

Excel 2003
Вы так и напишите, что вставляете код в другой файл не тот который выложили, и макрос не заполняет.


what? ;)

nilem, огромное спасибо! Все красиво!

[offtop]Песня без музыки- акапелла)
Могу подогреть на музло, чтобы голос не звучал одиноко))[/offtop]
 
Ответить
Сообщение
Вы так и напишите, что вставляете код в другой файл не тот который выложили, и макрос не заполняет.


what? ;)

nilem, огромное спасибо! Все красиво!

[offtop]Песня без музыки- акапелла)
Могу подогреть на музло, чтобы голос не звучал одиноко))[/offtop]

Автор - DAKRAY
Дата добавления - 20.12.2013 в 20:25
RAN Дата: Пятница, 20.12.2013, 20:37 | Сообщение № 12
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Всегда мечтал послушать




Жду с нетерпением!


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВсегда мечтал послушать




Жду с нетерпением!

Автор - RAN
Дата добавления - 20.12.2013 в 20:37
nilem Дата: Суббота, 21.12.2013, 00:11 | Сообщение № 13
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
[offtop]
Песня без музыки- акапелла)

Вот. Ну я же знал! :)
Спасибо![/offtop]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение[offtop]
Песня без музыки- акапелла)

Вот. Ну я же знал! :)
Спасибо![/offtop]

Автор - nilem
Дата добавления - 21.12.2013 в 00:11
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сортировка строк. Всю строку по первой ячейке (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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