1

голосов
0

ответ
54

Просмотры

Сочетание Vba фильтров

Кто-нибудь знает, как объединить эти две строки, так что, когда я запускаю строки кода, которые содержат апельсины не появляются. На данный момент, только первый фильтр работает. Так я получаю все яблоки, а второй фильтр не делает. Заранее спасибо! ActiveSheet.Range ( "B4", Range ( "BT4") End (xlDown).) Автофильтр поле:. = 24, факторам1: = "Яблоки" ActiveSheet.Range ( "B4", Range ( "BT4") End (. . xlDown)) Автофильтр поле: = 20, факторам1: = «Апельсины», оператор: = xlAnd Edit: решение - то, что мне нужно сделать, чтобы поставить «*» вокруг апельсинов, потому что я хотел, чтобы отфильтровать все, что содержало слово «Апельсины». С ActiveSheet .AutoFilterMode = False .Range ( "B4", Range ( "BT4"). End (xlDown)). Автофильтр .Range ( "B4", Range ( "BT4").
Gandalfrandalf
3

голосов
1

ответ
50

Просмотры

loop error - Runtime error 13

I have a loop that returns a runtime error 13 and I'm not sure why. I have changed the whole column to text and it still does not work - anyone have any idea why? There is the string "Test" in myColumn. The line that returns the error is the one beginning If Left( Option Explicit Sub myMacro() Dim startPoint As range Dim myCell As range Dim columnToFind As Integer Dim i As Integer Dim myColumn As range Application.ScreenUpdating = False Worksheets("mySheet").Activate Dim myDate As String myDate = Application.InputBox("Please enter the date you would like to run the macro for (DD/MM/YY)") Rows("4:4").Select Selection.Find(What:=myDate, After:=ActiveCell, LookIn:=xlFormulas _ , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate Set startPoint= ActiveCell.Offset(1, 1) ActiveCell.EntireColumn.Offset(0, 2).Insert columnToFind = Application.WorksheetFunction.Match(myDate, Rows("4:4"), 0) - 1 i = startPoint.CurrentRegion.Columns.Count Set myColumn = startPoint.Offset(0, (-i) + 1).EntireColumn For Each myCell In myColumn If Left(myCell.Value, 4) = "Test" Then myCell.Offset(0, 1).Value = "testing" End If Next Application.ScreenUpdating = True End Sub
Gandalfrandalf
1

голосов
3

ответ
388

Просмотры

AVERAGEIFS с Или

Я читал, что это не может быть возможно / Я просто делаю это неправильно, так мне было интересно, если кто-нибудь знал, что обходной путь (не - VBA) или может исправить меня? Спасибо! Col А имеет цену яблок и апельсинов Col D имеет яблоки и апельсины Col E имеет тип фруктов (красный, желтый, зеленый, фиолетовый) Я пытаюсь получить среднее Col А где Col D яблоки и Col E либо красный или желтый цвет. Я пробовал: = SUM (AVERAGEIFS (A: A, D: D, "Яблоки", E: E, "Красный"), AVERAGEIFS (A: A, D: D, "Яблоки", E: E, "Желтый" )) / 2 Но это не сработало - кто-нибудь есть какие-нибудь идеи?
Gandalfrandalf
2

голосов
2

ответ
225

Просмотры

как генерировать месяц и год в УВА как текст (должно быть в тексте, потому что с помощью функции соответствия)

Кто-нибудь знает, как я мог бы написать код, который будет делать следующее: Как текст, чтобы в ячейках A1: Z1 сегодня месяц и год вперед Так что я бы 12/2017 в A1 и B1 в 01/2018, 02/2018 в С1 и т.д. ... это очень важно, что «0» в ячейке B1 и что они находятся в текстовом формате, я думаю, что это будет сделано в цикле, например, для каждого mycell в диапазоне ( «A1: Z1») mycell.numberformat = «@» Next Что я не знаю, как сделать это, чтобы получить 09, чтобы изменить до 10. причина того, что я делаю это так происходит потому, что я звоню функции соответствия и конкатенации VBA.DateTime.month (Дата) и "/" & VBA.DateTime.year (Date), чтобы найти соответствующую ячейку
Gandalfrandalf