Добрый день! Как сделать диапазон динамичным, мне надо графики построить, а данные всегда с разным количеством строк, например строк 50 -> диапазон A1:F50
Может можно указывать количество строк для графика из ячейки, считаю кол. строк, например в ячейку AE1 и можно как-то присоединить к диапазону AE2:AE + число из AE1 ? Можно как-нибудь формулой заменить 200 на 64 из ячейки AE1?
Может быть просто числом(одно - любое), тогда ничего делать не надо) если со скобками, то взять число, что слева от них. Формулами, то я могу, а как в vba это сделать?
Доброе утро!) Задача вывести в столбцы C и B данные из спарсенной строки согласно шаблону, но не всегда эти данные есть, я добавил везде On Error GoTo, чтобы пропускало если нет таких данных, но похоже я что-то не то делаю и если заданного шаблона не находит иногда выдаёт ошибку, а иногда нет. В примере привёл случай при закомментированном блоке кода всё прекрасно работает, но если его включить, то ошибка, при том что один такой блок не вызывает ошибку. те если нет данных которые можно вытащить такой конструкцией нет, переходило дальше по коду
Код
n = InStr(1, response1, "asian-handicap¬") + 15
k = InStr(n, response1, "1st Half¬")
responseF = Mid(response1, n, k - n)
'форы 2.5
Sheets("Коэффициенты").Cells(4, 1) = responseF
n = InStr(1, responseF, ChrW(247) & "2.5¬XH") - 1
On Error GoTo 50:
k = InStr(n, responseF, "¬OG")
responseF1_p25a = Mid(responseF, n, k - n)
n = InStr(1, responseF1_p25a, "¬XB") + 4
k = InStr(n, responseF1_p25a, "¬XC")
responseF1_p25 = Mid(responseF1_p25a, n, k - n)
'форы 2.5
n = InStr(1, responseF, ChrW(247) & "2.5¬XH") - 1
k = InStr(n, responseF, "¬OG")
responseF2_m25a = Mid(responseF, n, k - n)
n = InStr(1, responseF2_m25a, "¬XC") + 4
responseF2_m25 = Mid(responseF2_m25a, n)
50:
Здравствуйте! Опять сайты со спортивной статистикой меняют код и мне приходится разбираться как починить. Делаю запрос, получаю строку и в ней ищу, то что нужно.
Столкнулся с проблемой, нужно отобрать с этого ÷ символа(типа деление, но с тире, вроде так обозначается U+00F7) ÷ этот символ не вставляется в VBA, точнее вставляется, но отображается как ?, а из другого редактора как ч... отсекаю не нужное таким способом:
Код
n = InStr(1, response, "U+00F7" & "1.5¬XH") - 1 'я понимаю эта строка не верно записана, я для примера записал может знаете как это соединить
k = InStr(n, response, "¬OG")
response = Mid(response, n, k - n)
Пожалуйста, подскажите как сделать поиск именно вместе с этим символом ÷ ÷1.5¬XH -вот так
Добрый день! Нужно проверить ряд ячеек с цифрами на соответствие условию "по убыванию", так то просто, но иногда проскакивают пустые ячейки, а как их учесть я не знаю. Помогите подправить формулу, если это возможно, пожалуйста, без макросов и массивов. например,
Добрый день! Переделываю парсер спортивной статистики, полетели некоторые макросы из-за изменений в коде сайта. Всё бы нечего, но к ячейкам вывода приделаны расчёты и важно соблюдать форматы вывода. Парсится строка которая содержит дату-время в unix time кодировке.
Эти данные вставляются как "07.08.2021 22:00"(все форматы), если поменять на "общий формат" получается это - 44415,91667 Как парсить эти unix числа сразу преобразовывая в текстовый формат такого типа - "2021.08.08 01:00"(ГГГГ.ММ.ДД чч:мм)?
Добрый день! Пытаюсь спарсить в таблицу данные спортивной статистики, это вроде получилось, там не сложно, но дальше надо найти названия команд играющих дома(это я упростил для примера), они находятся в спарсенной строке(переменная responseALL), названия команд скрываются между, "¬KJ"+1 символ и "¬KK". Я попробовал вытащить таким поиском в переменную KJhome, а дальше я не умею делать циклом перебор всей спарсенной строки на поиск ещё такого вхождения. Названия таких команд надо поместить на другой лист по порядку в столбец A. Может кто сможет помочь дописать код?
Код
Sub ggg()
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", "https://d.soccerstand.com/x/feed/df_hh_1_SCuAX4DJ_en_1_", False
oXMLHTTP.setRequestHeader "X-Fsign", "SW9D1eZo"
oXMLHTTP.send
response1 = oXMLHTTP.responseText
Set oRegExp = CreateObject("VBScript.RegExp")
oRegExp.Global = True
oRegExp.MultiLine = False
n = InStr(1, response1, "Head-to-head matches") + 20
k = InStr(n, response1, "¬~KA")
responseALL = Mid(response1, n, k - n) ' все лички получили
KJhome_n = InStr(1, responseALL, "¬KJ") + 4
KJhome_k = InStr(KJhome_n, responseALL, "¬KK")
KJhome = Mid(responseALL, KJhome_n, KJhome_k - KJhome_n) 'хозяева
Cells(1, 1) = responseALL
Cells(2, 1) = KJhome
End Sub
Если совсем упростить, то: например, скачиваем строку "adafddcbcdsdazzFghjSgjhgjgFggfhhSaaaaaaff" всё что между символами "F" и "S" поместить в столбец A. A B C 1 ghj 2 ggfhh 3 4
Здравствуйте! Можете подсказать где искать инфу или может даже подскажете как сделать? Имеется длинная таблица где интересуют некоторые столбцы с итогами. Можно ли как-то вывести эти ячейки с итогами в форму которая была бы всегда видна на экране? Чтобы каждый раз не мотать и не смотреть какой итог. Вариант с закреплением области не подходит, он уже используется для другого.
Здравствуйте! Есть таблица и хотелось бы при выборе любых данных делать фильтрацию по активной ячейке. В примере столбец А с числами и при выборе любой ячейки из A:A фильтровать столбец с учётом этой активной ячейки. Я задаю переменную для активной ячейки и потом ещё две переменных для фильтрации(одну больше на 0,1, другую меньше на 0,1)
например, выбираем 1,0 - значит нужно найти все ячейки между 0,9 и 1,1 , но что-то не работает мой макрос, посмотрите, пожалуйста, я подозреваю в типах данных ошибка, но я не шарю.
Код
Sub filter___A()
ActiveCell.Copy
filter_A = ActiveCell.Value
filter_Am = filter_A - 0.1
filter_Ab = filter_A + 0.1
ActiveSheet.Range("My_Diapazon").AutoFilter Field:=1, Criteria1:=">=" & filter_Am, Operator:=xlAnd, Criteria2:="<=" & filter_Ab
Application.CutCopyMode = False
End Sub
Здравствуйте! Как можно формулой подсчитать количество повторений с верха - вниз? Количество повторов нужно найти у самой верхней буквы. Если начинается с "а", то считать "а" повторы, до первой "к", если с "к" - наоборот. Длина столбца неограничена, как и количество повторов. например:
Здравствуйте! Сейчас этот макрос делает скрин области и сохраняет в папку к запущенному эксель файлу.(если файл с таким именем уже есть -перезаписывает) Помогите, пожалуйста, нужно чтобы сохранял рядом в отдельную папку (имя папки берём из dName в формате "dd/mm")
Код
Sub asdasd()
Dim sName As String, nName As String, dName As String, wsTmpSh As Worksheet
nName = Range("L10").Value
dName = Range("L11").Value 'тут дата, её надо использовать как имя при создании папки в директории файла в формате "dd/mm"
aName = Range("L12").Value
Range("A1:C10").Select
With Selection
.CopyPicture
Set wsTmpSh = ThisWorkbook.Sheets.Add
sName = ActiveWorkbook.Path & "\" & aName & "_" & Format(dName, "hh mm") & "_" & nName
With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
.ChartArea.Border.LineStyle = 0
.Parent.Select
.Paste
.Export Filename:=sName & ".jpg", FilterName:="JPG"
.Parent.Delete
End With
End With
wsTmpSh.Delete
End Sub
Привет! Этот макрос делает скрин листа и сохраняет в папку с книгой. Как поменять название файла при сохранении? Вот так он сохраняет: Base2021.xlsm_27.03.21 03 40_full.jpg А хотелось бы так: 27.03.21 03 40_full.jpg
Я так понимаю это эта строчка отвечает за имя: sName = ActiveWorkbook.FullName & "_" & Format(dName, "dd/mm/yy hh mm") & "_" & nName , если удаляю ActiveWorkbook.FullName, то ничего не сохраняется, помогите, пожалуйста.
Код
Sub Range_to_Picture9()
Dim sName As String, nName As String, dName As String, wsTmpSh As Worksheet
nName = Sheets("Анализ").Range("AO1").Value
dName = Sheets("Анализ").Range("K2").Value
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Range("A1:AV53").Select
With Selection
.CopyPicture
Set wsTmpSh = ThisWorkbook.Sheets.Add
sName = ActiveWorkbook.FullName & "_" & Format(dName, "dd/mm/yy hh mm") & "_" & nName
With wsTmpSh.ChartObjects.Add(0, 0, .Width, .Height).Chart
.ChartArea.Border.LineStyle = 0
.Parent.Select
.Paste
.Export Filename:=sName & ".jpg", FilterName:="JPG"
.Parent.Delete
End With
End With
wsTmpSh.Delete
MsgBox "скрин ОК!"
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Range("A1").Select
End Sub
Добрый вечер! Я не умею в VBA, работаю по шаблонам из интернета, кое чего переделываю по образцам, вот сейчас не получается, прошу помочь.
Нужно сложить ячейки в столбец A построчно c диапазона С:F построчно
Range("A" & rowindx).Value = WorksheetFunction.Sum(Range("C:F" & rowindx).Value) ' - Эта запись не срабатывает
можно конечно, просто складывать каждый столбец, но там их много, это для примера C:F по сути нужна формула =СУММ(C:F) , но в vba и с этими "& rowindx).Value" пример думаю скидывать не надо, тут вроде синтаксис просто надо поправить
Добрый день! Помогите, пожалуйста, как получить из - рыба рыба мясо крупа рыба крупа мясо без макросов получить - рыбамясокрупа тоесть взять каждое новое слово только один раз
Доброй ночи! Помогите, пожалуйста. В столбце D разное количество строк. Как этот код циклом сделать с учётом количества ссылок в столбце D ? Например, в столбце D пусть будет 150 заполненных ячеек(они идут подряд), значит выполнить этот код для каждой заполненной ячейки меняя D1 на номер строки до D150.
Код
Sub гиперссылки ()
Sheets("Журнал.").Select
Range("D1").Select
Selection.Hyperlinks(1).Follow
If Cells(1, 1) = "1" Then Макрос1
End Sub
Добрый вечер! Очень прошу помочь с одной задачей, которая заключается в следующем:
Нужен макрос - который бы переходил по всем гиперссылкам в таблице сверху до последней. Если после перехода по гиперссылке в ячейке "А1" на листе "Объект" было бы значение =1, то выполнять "макрос1", если другое значение, то выполнять гиперссылку в следующей строке на листе"Журнал." - до конца столбца.
Я это вручную делаю, но понимаю, что можно автоматизировать эту рутину. Пытался сам написать цикл, но после нескольких часов понял - не моё... (
Первый столбец содержит два значения, во втором только одно из этих двух значений. Если в первом содержится значение из второго, то дописать рядом соответствующие ему значения из следом идущих ячеек. Мне кажется в примере понятней) Посмотрите пожалуйста пример, там должно быть понятней.
Здравствуйте! Поставить 1 если предыдущая дата/время отличается более чем на 2 часа(если несколько одинаковых подходят, то считать только первую). Вручную задолбался, может знаете какую формулу, голову сломал уже...
Как закрасить каждый новый день своим цветом, ну или хотя бы чередовать два разных? Мне бы без добавления вспомогательных столбцов, желательно формулой в условном форматировании. Помогите, пожалуйста.
Перейти в ячейку в столбце А, номером строки которой будет является значение в другой ячейке, Макросом перейти в ячейку в столбце А, номером строки которой является значение в D1
Здравствуйте! Макрос запускает другие макросы. При выполнении первых двух возможна неполная информация и тогда в ячейку A1 на листе1 записывается "ошибка!" и в таком случае выполнение остальных макросов бессмысленно. Как тут прописать условие чтобы: если на листе1 A1 = "ошибка!" - тогда переход сразу к последнему макросу ?
If на листе1 в A1 = "Ошибка!" тогда Application.Run "'Книга1.xlsm'!Макрос5" Else
Application.Run "'Книга1.xlsm'!Макрос3" Application.Run "'Книга1.xlsm'!Макрос4" Application.Run "'Книга1.xlsm'!Макрос5" End If
Код
Sub Макрос6()
Application.Run "'Книга1.xlsm'!Макрос1"
Application.Run "'Книга1.xlsm'!Макрос2"
Application.Run "'Книга1.xlsm'!Макрос3"
Application.Run "'Книга1.xlsm'!Макрос4"
Application.Run "'Книга1.xlsm'!Макрос5"
'
End Sub
Удалить строки(не полностью) от столбца А до F там где пустые ячейки в столбце А., Если в столбце A встречается пустая ячейка, то удалять диапазон от A до F на этой строке
Здравствуйте! два файла, один 1.xlsm, другой 2.csv задача: 1 открываю 1.xlsm 2 запускаю макрос 3 он меняет расширение в 2.csv на 2.xlsx 4 открывает 2.xlsx, копирует диапазон A2:J100 и вставляет в B2 в 1.xlsm 5 закрывает 2.xlsx и удаляет всё в папке C:\content\oddsportal-com\ 6 переходит в 1.xlsm
написал макрос(через запись макроса), но из 2.xlsx копирует с разделителями в одну ячейку. может я чего тут лишнего понавставлял, помогите исправить
Здравствуйте! Есть список значений и есть таблица в которой надо выделить цветом только их. По одиночке это понятно как. Может есть способ отметить все разом?
Здравствуйте! Создал сводную таблицу и обнаружил удобную штуку - срез. Срез создался по столбцу с диапазоном значений от 1,00 1,01 1,02 1,03 ... 2,00. Можно ли сделать так чтобы в срезе были все те же значения, но разделить их на группы(сделать фильтр "между"), например, с 1,00 до 1,09, с 1,10 до 1,19....с 1,90 до 2,00 ? Можно ли отредактировать срез? Нужен совет мастеров, если возможно , то в какую сторону копать)
псы файл прикрепить не могу(, если не понятна суть вопроса, попробую потом сделать пример
Здравствуйте! Я в школе плохо учился(зато рисую хорошо ),помогите с задачкой. В столбце в ячейках находятся разные целые числа от 0 и до 20 и в зависимости от этого числа нужно производить такие вычисления(вроде это арифмитическая прогрессия, но я не уверен) столько раз сколько значение в ячейке. Пример: 2 =1*1+1*2 4 =1*1+1*2+1*3+1*4 7 =1*1+1*2+1*3+1*4+1*5+1*6+1*7
Здравствуйте! При выборе фильтра считать количество нужных ячеек только в видимом диапазоне. В примере нужно посчитать количество ячеек со значением "-1" . =СЧЁТЕСЛИ(Таблица1[b];"-1") считает все значения не обращая внимания на фильтр.