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

Страницы: 1
Суммесли как просумировать если указать диапазон ячеек
 
Здравствуйте. Есть таблица в которой нужно вывести сумму по колонке, но если указать диапазон ячеек в качестве критерия, при копировании формулы сумируються соседние колонки, сдвигаються формулы но только по сумме. Есть ли решение, или может в этом случаи лучше применить другую функцию.
Прикрепил пример.
P.S. используеться excel 2003
Изменено: Sashat1705 - 06.10.2022 14:55:34
Выгрузка истории операций с Биржи через VBA, Добавить возможность отмечать какие валютные пары загружать
 
Здраствуйте. Есть код (с автором кода нет возможности связаться) который загружает историю всех операций с криптобиржи в умную таблицу "BinanceOrdersHistory", и загружает историю только тех валютных пар, которые указанны в умной таблице "BinanceOH". Проблема в том что есть ограничения на одновременную загрузку только 20 валютных пар. Можно ли как то добавить зависимость например, что бы шла загрузка только отмеченых валютных пар (галочка или плюс в соседней ячейке)?
PS. Если в умной таблице где указаны валютные операцие по которым будет идти загрузка есть пустаю строка, тогда код не распознает валюту, и выдаст ошибку.
Код
Sub BinanceOrdersHistory()
    Dim x As Object
    Dim Target As ListObject
    Dim listObj As ListObject 'Ïåðåáèðàåò èç òàáëèöû âàëþòíûå ïàðû, è çàãðóçàåò èõ
    Set listObj = ActiveWorkbook.Worksheets("BinanceOrdersHistory").ListObjects("BinanceOH") 'Ïåðåáèðàåò èç òàáëèöû âàëþòíûå ïàðû, è çàãðóçàåò èõ
    Set Target = ActiveWorkbook.Worksheets("BinanceOrdersHistory").ListObjects("BinanceOrdersHistory")
    
    For i = 1 To listObj.ListRows.Count 'Ïåðåáèðàåò èç òàáëèöû âàëþòíûå ïàðû, è çàãðóçàåò èõ
        sym = listObj.ListRows(i).Range().Formula 'Ïåðåáèðàåò èç òàáëèöû âàëþòíûå ïàðû, è çàãðóçàåò èõ
        Set x = BinancePrivate("/api/v3/myTrades", "symbol=" + sym + "&limit=1000")
        For Z = 1 To x.Count
           Set lr = Target.ListRows.Add
            
            For c = 1 To x(1).Count
                If Target.HeaderRowRange(c).Formula = "time" Then 'Ôîðìàòèðîâàíèå âðåìåíè
                    lr.Range(c) = Format(x(Z)(Target.HeaderRowRange(c).Formula) / 86400000# + #1/1/1970#, "general date") 'Ôîðìàòèðîâàíèå âðåìåíè
                Else 'Ôîðìàòèðîâàíèå âðåìåíè
                    lr.Range(c) = x(Z)(Target.HeaderRowRange(c).Formula)
                End If 'Ôîðìàòèðîâàíèå âðåìåíè
            Next c
        Next Z
    Next i 'Ïåðåáèðàåò èç òàáëèöû âàëþòíûå ïàðû, è çàãðóçàåò èõ
    'ActiveWorkbook.Worksheets("BinanceOrdersHistory").Range("BinanceOrdersHistory").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18), Header:=xlYes
Call RemoveDuplicates
End Sub
Как выставить загрузку только нужных валютных пар, например отмеченных + (плюсом) в соседней ячейке?
 
Здравствуйте. Есть макрос который подгружает выполненые сделки, валютных пар которые прописаны в таблице BinanceOH (если в таблице будет пустая ячейка, будет ошибка, и загрузки не будет). Как можно реализовать, доделать макрос, что бы загрузка была только выбраных валютных пар, например стоит отметка + левей валютной пары которую нужно загружать, так как стоит ограничение на загрузку 20 валютных пар?
Это один из макроса, работает загрузка только со всеми остальными макросами, их я выложить не могу.
Код
Sub BinanceOrdersHistory()
    Dim x As Object
    Dim Target As ListObject
    Dim listObj As ListObject
    Set listObj = ActiveWorkbook.Worksheets("BinanceOrdersHistory").ListObjects("BinanceOH")
    Set Target = ActiveWorkbook.Worksheets("BinanceOrdersHistory").ListObjects("BinanceOrdersHistory")
    
    For i = 1 To listObj.ListRows.Count
        sym = listObj.ListRows(i).Range().Formula
        Set x = BinancePrivate("/api/v3/myTrades", "symbol=" + sym + "&limit=1000")
        For Z = 1 To x.Count
           Set lr = Target.ListRows.Add
            
            For c = 1 To x(1).Count
                If Target.HeaderRowRange(c).Formula = "time" Then
                    lr.Range(c) = Format(x(Z)(Target.HeaderRowRange(c).Formula) / 86400000# + #1/1/1970#, "general date")
                Else
                    lr.Range(c) = x(Z)(Target.HeaderRowRange(c).Formula)
                End If
            Next c
        Next Z
    Next i
    ActiveWorkbook.Worksheets("BinanceOrdersHistory").Range("BinanceOrdersHistory").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18), Header:=xlYes
End Sub

Была идея создать рядом аналогичну таблицу с отметками какие валюты загружать и самими валютами, а в основной таблице прописать формулу =если стоит отметка на загрузку, тогда добавляем рядом стоящую валюту. Но так как в таблице BinanceOH будет ошибка от пустых ячеек, формулу протянуть я не могу, тогда нужно добавлять в макрос проверку на ошибки.
Можно ли совместить функцию Если вместе с Индекс и Поискпоз?
 
Добрый день. Как можно реализовать такое условие? Например если ячейка "B2"=истина тогда нужно найти и заменить на значение с колонки "N", если ячейка "B2"=ложь тогда нужно заменить значение с колонки "O".
Думал сделать примерно так, но не работает.
=Если(в2=истина;ИНДЕКС(N2:N4;ПОИСКПОЗ(A2;M2:M4;0));Если(в2=ложь;ИНДЕКС(O2:O4;ПОИСКПОЗ(A2;M2:M4;0));0))
[ Закрыто] ЕСЛИ +ИНДЕКС + ПОИСКПОЗ, ЕСЛИ +ИНДЕКС + ПОИСКПОЗ
 
Добрый день. Как можно реализовать такое условие? Например если ячейка "B2"=истина тогда нужно найти и заменить на значение с колонки "N", если ячейка "B2"=ложь тогда нужно заменить значение с колонки "O".
Думал сделать примерно так, но не работает.
=Если(в2=истина;ИНДЕКС(N2:N4;ПОИСКПОЗ(A2;M2:M4;0));Если(в2=ложь;ИНДЕКС(O2:O4;ПОИСКПОЗ(A2;M2:M4;0));0))
Функция в VBA не работает под старым Excel
 
Добрый день. Есть функция которую писали в VBA (парсит курс валют), в новых версиях excel отрабатывает все хорошо, в старом 2003 excel выдает #знач. В чем может быть проблема?
Сама функция выложил ниже, а также для ее работы необходима библиотека Json, ее я прикрепил. Задавать валютную пару нужно в таком формате BTC_UAH
Код
Function BtcBid(pair)
    Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String
    Dim x As Object

    API = "https://btc-trade.com.ua/api/ticker/" + pair
    xmlhttp.Open "GET", API, False
    xmlhttp.Send
    Set x = ParseJson(xmlhttp.responseText)
    Set xmlhttp = Nothing
    
    BtcBid = val(x(pair)("buy"))
End Function
Удаление дубликатов макросом в Excel 2003
 
Здравствуйте. Есть макрос, главное проблема которую не могу решить, это что бы работало удаление дубликатов в 2003 Excel. Чем можно заменить RemoveDuplicates Columns который работает начиная с 2007 Excel?
Код
Sub B()
    Dim x As Object
    Dim Target As ListObject
    Set Target = ActiveWorkbook.Worksheets("B").ListObjects("B")
    
        Set x = BP("/sapi/history", "s=" + sym + "&limit=1000")
        For Z = 1 To x.Count
           Set lr = Target.ListRows.Add
            
            For c = 1 To x(1).Count
            
                    lr.Range(c) = x(Z)(Target.HeaderRowRange(c).Formula)
            Next c
        Next Z
    ActiveWorkbook.Worksheets("B").Range("B").RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9), Header:=xlYes
End Sub
Изменено: vikttur - 14.10.2021 10:25:41
Перенос данных на другой лист, если заказ униальный
 
Код
Sub Extract_Unique()
    Dim vItem, avArr, li As Long
    ReDim avArr(1 To Rows.Count, 1 To 1)
    With New Collection
        On Error Resume Next
        For Each vItem In Range("A2", Cells(Rows.Count, 1).End(xlUp)).Value
            'Cells(Rows.Count, 1).End(xlUp) – определяет последнюю заполненную ячейку в столбце А
            .Add vItem, CStr(vItem)
            If Err = 0 Then
                li = li + 1: avArr(li, 1) = vItem
            Else: Err.Clear
            End If
        Next
    End With
    If li Then [E2].Resize(li).Value = avArr
End Sub


Данный макрос перебирает все значения в колонке А, сравнивает с колонкой Е, и копирует новые значения отсеивая дубликаты в колонку Е.

Здравствуйте. Помогите подправить код, задача такая. Есть два листа, лист1 архив заказов, и аналогичный лист2 новые заказы, список в листе2 новые заказы всегда обновляется. В каждом листе есть колонка номер заказа - телефон - фамилия. Как подправить код чтобы перебирались дубликаты по номеру заказа, в случаи нового заказа переносилась вся строка заказа в архив (код заказа - телефон - фамилия)? Важный момент, в архиве заказа может отсутствовать информация телефон или фамилия, как сделать так что бы заполнялось не в первую свободную ячейку а переносилась строка целиком, дабы не смещалась информация о телефоне и фамилии?
Изменено: vikttur - 06.10.2021 17:26:21
Загрузка из интернета в excel 2003
 
Здравствуйте. Есть старенький excel 2003 возможно ли в нем реализовать загрузку из интернета как это в более поздних версиях данные-загрузка из интрнета, может есть какие то обновления? Как быль или без вариантов переходить на более новые версии?
Как загружать данные через API сайта в excel
 
Добрый день. Есть сайт https://www.binance.com/ru/support/faq/c-6?navId=6 с него нужно вытянуть историю торгов и операции по счетам через API.Можно ли такое сделать, на сколько это сложно в реализации?
Как поменять формулу в зависимости от значений в другой ячейке?
 
Добрый день. Помогите решить данную задачу. Есть две формулы, как их соединить и прописать в одну ячейку, что бы в зависимости от значений "ПОКУПКА" или "ПРОДАЖА" срабатывала нужная формула?
Код
=СУММПРОИЗВ(($C$2:$C$1000="ПОКУПКА")*($E$2:$E$1000=Y14)*($G$2:$G$1000=Z14);
$H$2:$H$1000)/СУММПРОИЗВ(($C$2:$C$1000="ПОКУПКА")*($G$2:$G$1000=Z14)*($E$2:$E$1000=Y14);$J$2:$J$1000))

=СУММПРОИЗВ(($C$2:$C$1000="ПРОДАЖА")*($G$2:$G$1000=Z5)*($E$2:$E$1000=Y5);
$J$2:$J$1000)/СУММПРОИЗВ(($C$2:$C$1000="ПРОДАЖА")*($E$2:$E$1000=Y5)*($G$2:$G$1000=Z5);$H$2:$H$1000))

Принцип работы формулы такой: если A="ПОКУПКА" тогда B/C  Если A="ПРОДАЖА" тогда C/B
Изменено: vikttur - 08.09.2021 15:21:19
Выгрузка данных с сайта
 
Добрый день. Стоит задача выгрузки с сайта https://kuna.io/markets/btcusdt курсы валют. Кто может помогите решить данную задачу, через Power BI Desktop не выходит перенести курсы так, что бы они обновлялись.
Загрузка данных из интернета в Excel через Power BI Desktop
 
Здравствуйте. Пытаюсь загрузить данные из интернета (курс валют https://kuna.io/markets/btcusdt) но столкнулся с проблемой что данные с такого сайта не загружаются через Excel. На помощь идет Power BI Desktop, все хорошо но после того как сохраняю все загруженные таблицы с курсами в excel, в excel не происходит их обновление по нажатию кнопки обновить во вкладе данные. В Power BI Desktop обновление происходит. В чем может быть проблема?
Изменено: Sashat1705 - 22.01.2021 12:39:48 (ошибка в тексте)
EXCEL 2003. Суммировать диапазон ячеек по двум критериям:
 
Здравствуйте. На форуме не нашел такой темы, возможно кто то сталкивался с подобным решением проблемы.
как можно реализовать функцию суммеслимн в Excel 2003 г. формула =_xlfn.SUMIFS(H:H;E:E;T2;C:C;"ПРОДАЖА")/_xlfn.SUMIFS(F:F;D:D;S2;C:C;"ПРОДАЖА") прекрасно работает пока не переношу файл Excel на компьютер где Excel 2003 года.
Запрет ввода данных в ячейку по заданным условиям, Запрет ввода данных в ячейку по заданным условиям
 
Добрый день. помогите реализовать данный функционал.
Задача следующая в ячейке А2 выпадающий текст (проценты), как сделать запред ввода в ячейку В2 и прописать условия текст "проценты"?
Выходит если из выпадающего списка (это уже реализовано) выбрать текст проценты, тогда в ячейку в2 можно ставить проценты.
Изменено: Sashat1705 - 16.01.2021 14:02:06
Поиск совпадений по столбу с извлечением данных с условием
 
Добрый день. Помогите с реализацией проекта - формулу.
Есть база веса товара: две колонки А - название товара (цифры и буквы) В - вес товара в граммах.
Цель при загрузке приходной накладной колонка С номерами товара, необходимо произвести поиск в базе товара, в случаи совпадения номера товара в справочнике веса, необходимо в приходную накладную подставить веса в колонку D.
Страницы: 1
Наверх