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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2009, 21:55   #1
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию Прошу помочь с простеньким кодом

Здравствуйте! Вот подумал, может и мне кто поможет…
Вложения
Тип файла: rar 2.rar (22.9 Кб, 24 просмотров)
bank_notes вне форума Ответить с цитированием
Старый 30.07.2009, 21:58   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

С объединенными ячейками - никак...
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 30.07.2009, 22:51   #3
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Цитата:
Сообщение от The_Prist
с объединёнными ячейками - никак...
Согласен. Видимо имеет смысл предварительно "разъединить" ячейки,
добавить новые строки в конец таблицы, отсортировать, и, наконец,
вновь объединить ячейки в соответствии с требованиями клиента
Aent вне форума Ответить с цитированием
Старый 30.07.2009, 23:13   #4
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию

А ежели исключить ячейки, объединенные по вертикали., можно ли решить задачу при помощи кода?
bank_notes вне форума Ответить с цитированием
Старый 31.07.2009, 04:06   #5
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

Ну да. Копируете новые строки в конец таблицы и сортируете по коду.
Если я правильно понял, что в вашем файле код с первого листа на втором
называется каталог...
Aent вне форума Ответить с цитированием
Старый 31.07.2009, 09:24   #6
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию

Да, совершенно верно. А програмно это возможность сделать? Дело в том, что основная таблица состоит из нескольких разделов. И простое копирование – сортировка не подходит, все равно приходится разносить позиции вручную, с помощью самодельного кода (прилагается, прошу громко не смеятья, знаю, что горбатый)…..
Вложения
Тип файла: rar 3.rar (5.4 Кб, 13 просмотров)
bank_notes вне форума Ответить с цитированием
Старый 31.07.2009, 12:12   #7
Aent
Форумчанин
 
Аватар для Aent
 
Регистрация: 17.07.2009
Сообщений: 519
По умолчанию

bank_notes, дайте полную структуру исходной и принимающей таблиц и будет вам код. Без этого обсуждение бессмысленно.
Aent вне форума Ответить с цитированием
Старый 31.07.2009, 14:56   #8
analyst
Пользователь
 
Регистрация: 30.06.2009
Сообщений: 32
По умолчанию

Цитата:
Сообщение от bank_notes Посмотреть сообщение
Да, совершенно верно. А програмно это возможность сделать? Дело в том, что основная таблица состоит из нескольких разделов. И простое копирование – сортировка не подходит, все равно приходится разносить позиции вручную, с помощью самодельного кода (прилагается, прошу громко не смеятья, знаю, что горбатый)…..
Что-то я совсем не пойму что вы хотели этим макросом сделать
Он же даже не рабочий!
analyst вне форума Ответить с цитированием
Старый 01.08.2009, 17:54   #9
bank_notes
Пользователь
 
Регистрация: 28.11.2007
Сообщений: 16
По умолчанию

Вот "собрал" действующий код, который мог бы стать основой для усовершенствования.

Sub СОРТ7()
With Application
.Calculation = xlManual
.ScreenUpdating = False
i = 1
Do Until Sheets("1").Cells(i, 2) = ""
d = Workbooks("2.xls").Worksheets("1"). Cells(i, 3).Value
Set iCell = Workbooks("2.xls").Worksheets("2"). Columns("B").Find _
(What:=d, LookIn:=xlValues, LookAt:=xlPart)
r = iCell.Offset(0, -1).Value
c = Workbooks("2.xls").Worksheets("1"). Cells(i, 2).Value
If Not iCell Is Nothing Then
iAddress = iCell.Address
Do
If c < r Then
iCell.EntireRow.Insert
Worksheets(1).Activate
Worksheets(1).Range(Cells(i, 2), Cells(i, 10)).Copy Destination:=iCell.Offset(-1, -1).Resize(1, 8)
Exit Do
End If
Set iCell = Workbooks("2.xls").Worksheets("2"). Columns("B").FindNext(after:=iCell)
r = iCell.Cells.Offset(0, -1).Value
Loop While Not iCell Is Nothing And iCell.Address <> iAddress
End If
i = i + 1
Loop
.Calculation = xlAutomatic
.ScreenUpdating = True
End With
End Sub

У меня работает, но вот беда и этот код, да и встроенная сортировка упорядочивает значения по столбцу код/каталог таким, например образом:
16
17
11s
14a
14b
15a
18a
9s

А нужно чтобы, чтобы он выстраивал значения в порядке возрастания цифр:

9s
11s
14a
14b
15a
16
17
18a

Можно ли, если да - как это сделать?
bank_notes вне форума Ответить с цитированием
Старый 19.08.2009, 09:55   #10
Pelengas
Новичок
Джуниор
 
Регистрация: 03.08.2009
Сообщений: 1
По умолчанию

Чтобы не плодить новых тем, продолжу здесь.
Прошу помочь с простеньким кодом
Есть таблица результатов соревнований по ловле рыбы.
Столбец "Сектор" - порядковый номер сектора от 1 до произвольного значения, но не больше 100.
Столбец "Вес" - вес улова в граммах. Количество секторов с одинаковым весом - произвольное.
Столбец "Место" - в зависимости от веса пойманной рыбы места распределяются от 1 до количества секторов.
Столбец "Место итоговое": При равенстве веса уловов, секторам, имеющим одинаковые результаты, засчитывается количество очков (мест) равное среднему арифметическому от суммы мест, которые они должны были бы поделить.
Задача: для всех секторов, имеющих равные веса, рассчитать итоговое место.
Спасибо.
Вложения
Тип файла: rar Result.rar (4.2 Кб, 8 просмотров)
Pelengas вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень прошу помочь! goggin Помощь студентам 1 15.12.2008 19:11
Прошу помочь с заданием =(( Lexxich Помощь студентам 1 14.06.2008 12:34
Прошу помочь. Оплачу. dreo Фриланс 8 22.12.2007 00:35
Прошу помочь с запросом MASTERKEY БД в Delphi 0 18.05.2007 15:15
Прошу по помочь с TMonthCalendar, Azamat_k Компоненты Delphi 12 04.04.2007 13:36