Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Требуется концептуальный подход к сложному проекту...
 
Здравствуйте, господа!  
Что-то застрял с общей концепцией проекта... Помогите сориентироваться...  
Задача: Есть множество таблиц с исходными данными, часть данных вводится извне. Для комплексного расчета ввод исходных данных должен повториться n-ое количество раз с разными значениями, каждый раз по-разному.   После сбора данных над ними осуществляются расчеты с использованием дополнительных данных из других таблиц и расчитанные данные помещаются в отчет.  
Что приходит в голову, - это создание формы в которой часть данных будет выбираться из выбрасывающихся списков, часть вводиться вручную, после чего будет создаваться динамическая таблица, в которой будут присутствовать исходные данные и производиться расчеты над ними. По мере заполнения таблицы, формируется отчетный лист.  
С точки зрения пользователя все неплохо, но с точки зрения реализации, мне кажется все сильно усложнено. Куча сложных формул в коде, да и сам код достаточно сложный, сложность с контролем. Возникает ощущение, что это реализуется как-то проще. Может какая-то таблица с формулами или более простой способ создания динамических таблиц? Если можно, ткните носом в примеры сложных проектов красиво реализованных или поделитесь именно концептуальными подходами к таким задачам. Файл не прикладываю, поскольку чтобы его начать создавать надо определиться что же именно делать...  
Понимаю что вопрос несколько абстрактен, но выглядит достаточно понятно... Если что, - отвечу на вопросы...
Объединение ячеек без потери данных
 
Господа, я не силен в ВБА, но возникла жестокая потребность привести в божеский вид кучу импортированных таблиц.    
Нашел такой код (его часто упоминают в сетке):  
Private Sub Call_MyMerge()  
  'Range("B11:D12").Merge  
  'Range("B11:D12").MergeCells = True  
   MyMerge Range("B11:D12") 'Worksheets(1).Range("B11:D12")  
End Sub  
 
Public Sub MyMerge(iDiapazon As Range)  
   With Application  
        Dim iCell As Range  
        For Each iCell In iDiapazon  
            iText$ = iText$ & " " & CStr(iCell.Value)  
        Next  
        iText$ = .Trim(iText$)  
        .DisplayAlerts = False  
        With iDiapazon  
             .WrapText = True  
             .MergeCells = True '.Merge  
             .Value = iText$  
        End With  
        .DisplayAlerts = True  
   End With  
End Sub  
Не могу понять как он должен работать, дайте какие-то пояснения, пожалуйста.  
Когда вставляю его в модуль, новых макросов не появляется. Почему он из двух частей? Вообще, не могу найти могут ли быть у макроса аргументы (с аргументами не виден ни один макрос)? Мож у меня что-то с настройками не так? Или быть может, есть еще варианты кодов? Хочется не просто воткнуть, но и понять... Заранее благодарен!  
П.С. Exel 2003
Страницы: 1
Наверх