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

Страницы: 1
Работа со списком без использования сводной таблици
 
{quote}{login=vikttur}{date=07.06.2011 11:55}{thema=}{post}Ловите.{/post}{/quote}  
 
Спасибо огромное, то что нужно!!!    
 
Насчет GP - да они у нас жесткие, так как стоят тонкие клиенты, все работает через основные сервера. А те отчеты что есть их просто не хватает! Вот и приходится заново рисовать велосипед.
SQL запрос
 
{quote}{login=Николай}{date=07.06.2011 11:22}{thema=Re: Re: SQL запрос}{post}{quote}{login=Юрий М}{date=07.06.2011 11:18}{thema=Re: SQL запрос}{post}{quote}{login=Николай}{date=07.06.2011 10:45}{thema=SQL запрос}{post} могу ли я оформить SQL запрос к диапазону...{/post}{/quote}  
Николай, ну и формулировки у Вас: вот получите Вы ответ "Да". Устроит такой ответ? :-){/post}{/quote}  
Немного подробнее, допустим на листе есть диапазон range("A1:M15") я хочу вытащить из этого диапазона данные с помошью SQL запроса, как мне это сделать?{/post}{/quote}  
 
Что то я не совсем понял - Вы подразумеваете базу данных - выделенный лист книги Excel???  
Я во втором посте Вам писал как работать с базами данных.
Работа со списком без использования сводной таблици
 
Юрий М - критика принимается, возможно я не прав в своих высказываниях, но действительно в самой теме написанно что без использования сводной таблици, а меня хотят просто убедить в обратном.  
Serg 007 - И где же Вы видете кучу вариантов? Предлагаете использовать то что противоречит названию самой темы? Вариант есть от Микки и за это ему Огромное спасибо.  
Микки - мне не только суммы нужно сложить, но и вычленить уникальные наименования фирмы и менеджера. Может я и не догоняю как это сделать с помощью СУММПРОИЗВ(), по этому и обратился на форум.
Работа со списком без использования сводной таблици
 
{quote}{login=}{date=06.06.2011 09:05}{thema=Re: Re: Re: Re: Re: }{post}{quote}{login=Serge 007}{date=06.06.2011 08:59}{thema=Re: Re: Re: Re: }{post}{quote}{login=Z}{date=06.06.2011 08:57}{thema=Re: Re: Re: }{post}"Дело в том что исходная таблица - динамически меняющееся и с достаточно большим количеством данных."{/post}{/quote}... Проблема то в чём?{/post}{/quote}  
Не в чём, а в ком - в ТС! Которому лень или недосуг усвоить большую разницу в его и не его терминахъ "динами..." ;)  
-69476-{/post}{/quote}  
 
К чему тут термины, что за флуд. Я вроде описал задачу, после 12 постов решения нет, а Вы говорите о терминах.  
Если уж нечего сказать по существу - смысл вообще говорить.  
Дело в том что с помощью сводной таблици сделать достаточно просто и это все понимают, но задача не тривиальная.
Работа со списком без использования сводной таблици
 
{quote}{login=Serge 007}{date=06.06.2011 08:03}{thema=}{post}А чем сводная-то не угодила?  
В данном случае - это оптимальное решение.  
А формулами можно, только готовьтесь к тому что на "от нескольких сотен до нескольких тысяч" строк тормозить будет нереально.{/post}{/quote}  
 
Тормоза не страшны, нужно решение.
Работа со списком без использования сводной таблици
 
{quote}{login=Z}{date=06.06.2011 06:45}{thema=Re: }{post}{quote}{login=Микки}{date=06.06.2011 06:37}{thema=}{post}А вы  формулку то посмотрите, не сочтите за труд  там все консолидировано ...{/post}{/quote}  
Микки! Наверное ТС не догоняет каким образом взяты уникальные по первым двум полям, а потом уж к ним... Формулами, расширенным?..  
ps softfile! F по какой причине нельзя "стандартную сводную", иль преп так велел?  
-32459-{/post}{/quote}  
 
Дело в том что исходная таблица - динамически меняющееся и с достаточно большим количеством данных.  
Для примера я нарисовал минимальные входные и выходные данные. Количество строк входных данных за одну сессию меняется от нескольких сотен до нескольких тысяч.  
Вот такой вот затык случился. Макрос использовать нельзя - групповые политики запрещают.Хотя с макросом проблем нет конечно.  
 
Табличка "результат" это "ПРИМЕР" сформированный из исходных данных с помощью сводной таблицы
Работа со списком без использования сводной таблици
 
{quote}{login=Микки}{date=06.06.2011 06:01}{thema=}{post}СУММПР() рулит{/post}{/quote}  
 
Сумму я то знаю как считать, а консолидировать все в месте Клиент, Менеджер, Сумма
Работа со списком без использования сводной таблици
 
Помогите пожалуйста решить проблемку    
Как можно без использования "сводной таблици", а с помощью формул, консолидировать значения из исходной таблички в результирующую.  
В примере указанна исходная таблици и результат работы "сводной таблици"
Выпадающий список и диаграмма - как увязать?
 
{quote}{login=vikttur}{date=23.11.2010 03:04}{thema=}{post}Для начала поиск по форуму "динамический график". Неоднократно было.{/post}{/quote}  
 
Спасибо, помогли!!!  
 
А как насчет второй части вопроса? Может есть подобные заготовки?
Выпадающий список и диаграмма - как увязать?
 
Есть Лист с данными, а также лист с диаграммой и формой списка.  
Задача состоит в следующем. Пользователь в листе с диаграммой выберает через форму списка необходимую дату, при этот диаграмма отображает данные из этой даты. Остальная работа с листами пользователю запрещена.  
Пример прилагаю.  
 
И второй вопрос. Есть небольшой запрос который как раз и выберает данные из базы, в том виде с которыми диаграмма и работает.  
Так вот нужно что бы макрос брал данные из запроса(который выполнился), открывал файл с диаграммой, определял конец списка дат с данными и добавлял строку с новой датой и данными.  
Как это можно организовать???
Максимальное количество строк sql запроса в макросе
 
Никто с таким не сталкивался?
Максимальное количество строк sql запроса в макросе
 
Всем доброго дня!!!  
 
Столкнулся с такой проблемой.  
Достаточно часто делаю SQL запросы, но для того что бы не писать оболочку в delphi под конкретный запрос для юзера, хотелось бы этот запрос просто размещать в макросе.  
Небольшие запросы нормально отрабатываются и выводят пользователям читабельные и оформленные данные, НО большие запросы ни в какую не хотят выполнятся. Как можно выполнять запросы в которых как минимум 50 срок кода?  
Может кто знает - подскажите плиз.
Работа с массивом
 
{quote}{login=Hugo}{date=14.11.2010 06:27}{thema=}{post}Вот так - коды в один массив - одну колонку, цены в другой - тоже только одну колонку.  
Выгружаем только массив с ценами.  
 
Там ещё обновление экрана отключалось (и не включалось в коде) - не нужно, убрал.  
 
Sub nacenka()  
 
   Dim a(), b(), c(), oDict As Object, i As Long  
   'тут список кодов  
   a = Sheets(2).Range("A2:B" & Sheets(2).Range("A" & Rows.Count).End(xlUp).Row).Value  
   'собственно данные  
   b = Sheets(1).Range("b2:b" & Sheets(1).Range("c" & Rows.Count).End(xlUp).Row).Value  
   c = Sheets(1).Range("e2:e" & Sheets(1).Range("c" & Rows.Count).End(xlUp).Row).Value  
 
   Set oDict = CreateObject("Scripting.Dictionary")  
     
   On Error Resume Next  
   For i = 1 To UBound(a): oDict.Add Trim(a(i, 1)), CStr(Trim(a(i, 2))): Next  
   On Error GoTo 0  
     
   For i = 1 To UBound(b)  
       If oDict.Exists(Trim(b(i, 1))) Then c(i, 1) = c(i, 1) - (c(i, 1) / 100 * oDict.Item(Trim(b(i, 1)))) 'отнимаю скидку  
   Next  
     
   Sheets(1).Range("e2:e" & Sheets(1).Range("c" & Rows.Count).End(xlUp).Row).Value = c  
 
End Sub{/post}{/quote}  
 
Все отлично работает, обвязал другим кодом и свел к логическому концу.  
Спасибо огромное за помощь!!!
Работа с массивом
 
{quote}{login=softfile}{date=14.11.2010 05:43}{thema=}{post}Hugo взял твой пример, но опять как то странно отрабатывает  
скидки нереальные получается хотя в примере стоит все 10  
да и колонка "B" в price c текстового формата выпадает в числовой и при этом коды слетают  
непонятно где затык получается{/post}{/quote}  
 
вот прилепил то что выходит  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Работа с массивом
 
Hugo взял твой пример, но опять как то странно отрабатывает  
скидки нереальные получается хотя в примере стоит все 10  
да и колонка "B" в price c текстового формата выпадает в числовой и при этом коды слетают  
непонятно где затык получается
Работа с массивом
 
Вот это то что нужно  
сделал преобразование, все работает как надо  
и достаточно быстро
Работа с массивом
 
{quote}{login=Hugo}{date=13.11.2010 01:48}{thema=}{post}Отдельным файлом - это как?  
Можно в отдельном текстовом файле держать коды и скидки, и читать его в начале в словарь.  
Вместо CStr(1) писать в Item скидку, потом вместо  * 1.18  умножить (или что там нужно) на эту Item:  
oDict.Item(Trim(a(i, 1)))  
 
Но чтение текстового файла в словарь - это отдельная тема... если не делали, так просто не объяснить...{/post}{/quote}  
 
а как записать в Item скидку?
Работа с массивом
 
fso - sql запрос(сам код я вырезал, но объявление забыл убрать  
LastRow - конец списка, он меняется  
Цена должна заменятся  
 
Sub FormQuery()  
Dim LastRow As Long  
Dim FP As String  
FP = "D:\PriceNew\TMP_XLS\"  
FArch = "D:\D:\PriceNew\ARCH\"  
Workbooks.Open Filename:=FP + "sd_tmp.xls"  
For i = 2 To LastRow Step 1  
If (Cells(i, 9).Value = "Нет") Then Cells(i, 3).Value = Cells(i, 3).Value * 1  
Cells(i, 3).NumberFormat = "#,##0.000"  
Next i  
Range("A1").Select  
ActiveWorkbook.SaveAs Filename:=FP + "sd0.xls"  
Workbooks("sd0.xls").Close  
ActiveWorkbook.Save  
Workbooks("sd.xls").Close  
End Sub  
 
--Cells(i, 9).Value = "Нет--> проверка на НДС( можно не учитывать)
Работа с массивом
 
почему то ответе не прилепился файл
Работа с массивом
 
Извините конечно, но интересовал сам механизм.  
Для примера вкладываю файл примера  
 
В примере необходимо начистить скидки только на список препаратов по кодам  
Скидка фиксирована -10%  
148329  
131243  
150606  
115747  
143948  
 
В реальном файле будет порядка 800 кодов в списке с 20 000 позиций  
вот такая вот задача(((  
Еще раз прошу извинение за некорректный ответ в предыдущем посте..
Работа с массивом
 
Ну что разве никто не знает как помочь???
Работа с массивом
 
Вот весь код который отвечает за формирование окончательной цены  
 
Sub FormQuery()  
   Dim LastRow As Long  
   Dim FP As String  
   FP = "D:\PriceNew\TMP_XLS\"  
   FArch = "D:\D:\PriceNew\ARCH\"  
   Set fso = CreateObject("Scripting.FileSystemObject")  
   Workbooks.Open Filename:=FP + "sd_tmp.xls"  
   For i = 2 To LastRow Step 1  
     If (Cells(i, 9).Value = "Нет") Then Cells(i, 5).Value = Cells(i, 5).Value * 1  
      Cells(i, 5).NumberFormat = "#,##0.000"  
   Next i  
   Range("A1").Select  
   ActiveWorkbook.SaveAs Filename:=FP + "sd0.xls"  
   Workbooks("sd0.xls").Close  
    ActiveWorkbook.Save  
   Workbooks("sd.xls").Close  
End Sub
Работа с массивом
 
Всем добрый день!  
Возникла задача, но вот с решением как то туго, если есть желающие помочь - буду очень благодарен.  
Суть задачи:  
Имеется прайс-лист с кодами по товару, необходимо сделать скидки на определенный товар (скидки все разные но группируются по производителю)  
Есть макрос который выполняет пересчет по всему прайсу - что явно не подходит  
Лично я представляю себе так - есть массив с кодами на товар, крутица цикл с условием, который проверяет в массиве есть ли такое значение или нет, если есть - добавляем скидку, если нет.....  
Но на словах вроде все понятно, как реализовать в макросе  
На данный момент используется цикл с условием такого вида:  
   For i = 2 To LastRow Step 1  
     If Cells(i, 9).Value = "Нет" Then Cells(i, 5).Value = Cells(i, 5).Value * 0.985  
      Cells(i, 5).NumberFormat = "#,##0.000"  
   Next i  
Вообщем как и где сделать массив и как вставить в цикл (тот что есть) проверку значений из массива.  
 
Заранее спасибо!!!!!!!!!!!!!!!
Страницы: 1
Наверх