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

Страницы: 1
в фильтре сводной таблицы нет условий фильтрования текста, в фильтре сводной таблицы нет условий фильтрования текста, хотя данные только текстовые
 
образец меню фильтра на соседнем листе
в фильтре сводной таблицы нет условий фильтрования текста, в фильтре сводной таблицы нет условий фильтрования текста, хотя данные только текстовые
 
в столбце сводной таблицы "SKU name" только текстовые данные
почему фильтр предлагает фильтровать значения VALUES FILTERS, а не Label filters?
Source pivotTable нет, присылается только сводная таблица. на форуме не нашёл ответа.
на соседнем листе тоже сводная и фильтр работает как надо

уже везде проверил, вроде одинаковые таблицы, но фильтруют почему-то по разному. в чем может быть дело??
Создание сводной таблицы из источника объёмом больше чем 65536 строчек
 
всем привет
может у кого-то не так, но у меня так. в общем если макрорекордером записывать создание сводной таблицы, а потом подставить в SourceData источник например selection или предварительно присвоить диапазону переменную, то сводная таблица создастся только если число строк в источнике не больше 65536 (вместе с заголовком).
я сделал таким образом:
Код
Imya_Lista = ActiveSheet.Name

Set diapazon = ActiveCell.CurrentRegion 'определение диапазона источника'
strochka1 = diapazon.Row '[COLOR=#007236]номер строки первой ячейки[/COLOR]
stolbic1 = diapazon.Column [COLOR=#39b778]'[COLOR=#007236]номер столбца первой ячейки[/COLOR][/COLOR]
strochka2 = (diapazon.Row + diapazon.Rows.Count) - 1 [COLOR=#007236]'номер строки последней ячейки[/COLOR]
stolbic2 = (diapazon.Column + diapazon.Columns.Count) - 1 '[COLOR=#007236]номер столбца последней ячейки[/COLOR]
New_sheet_name = ActiveSheet.Name

[COLOR=#007236]rem строка создания сводной таблицы[/COLOR]
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
        SourceData:=[COLOR=#ff0000]Imya_Lista & "!R" & strochka1 & "C" & stolbic1 & ":R" & strochka2 & "C" & stolbic2[/COLOR] _
        , Version:=xlPivotTableVersion14).CreatePivotTable _
        TableDestination:=[COLOR=#ff0000]"'" & New_sheet_name & "'!R3C1"[/COLOR], TableName:="PivotTable101", DefaultVersion _
        :=xlPivotTableVersion14

ActiveSheet.Cells(3, 1).Select
MsgBox "сводная табличка готова"
End Sub

создалась сводная таблица со 100 тысячами строк
красным выделил источник SourceData и адрес назначения TableDestination
если указывать SourceData через переменную в которой строк больше чем 65536, то получаем ошибку Type mismatch. я решил эту беду вышеуказанным способом с помощью указания адреса через переменные.

мастера, если у вас есть ещё какое-нибудь решение, прошу поделиться!
спасибо
Неверное вычисление десятичных дробей
 
vikttur, ну вообще-то поиском по форуму я и воспользовался! и буквы "IEEE" и цифры "754" я нашёл.
я же написал спасибо за ответы...
Неверное вычисление десятичных дробей
 
grigju, я писал что файл тут не нужен.
напишите в одной ячейке 1,2 а в другой 1,1 и вычтите одно из другого и получите результат о котором я говорю.
видимо правильный ответ vikttur, о "Стандартах вычислений в Excel", я об этом ранее не слышал
на счёт того, что обсуждалось не однократно, я думаю что ещё не раз об этом спросят.
пусть это будет какой-то стандарт вычисления, но мне даже не по себе как-то стало что EXCEL (!) считает такой простой пример не правильно.
на самом деле этот вопрос задали мне на работе, у кого-то что-то не сошлось, хотя числа были одинаковые визуально.
обычно у меня всегда есть ответ по excel для коллег (вопросы простые), а тут я не знал что и сказать, поэтому обратился к вам, к знающим людям.
предложил коллеге округлять результат формулы (ROUND), пока вроде все довольны.
спасибо за ответы
Неверное вычисление десятичных дробей
 
всем привет
не нашёл ответа, поэтому спрошу сам. думаю кто-нибудь и что-нибудь скажет

пишу в одну ячейку значение 1,1 в другую ячейку пишу 1,2, в третьей ячейке хочу видеть разницу этих двух ячеек (т.е. 1,2-1,1=?)
ответ должен быть одна десятая (0,1), но excel выдаёт итог 0,0999999999999999, если скопировать формулу и вставить куда-нибудь как значение, то в строке формул видно 0,0999999999999999.
визуально разницы не видно итог будет показан 0,1 (если не ставить числовой формат с 16 знаками после запятой), но если его сверять с числом "0,1"
руками написанным в другой ячейке, то excel покажет что это разные числа.

почему результатом вычислений показывается "0,0999999999999999", а не "0,1" как должно быть?

если такое вычисление участвует в некой цепочке вычислений и нужно сверить результаты с тем что должно быть и с тем что получилось, то получим не соответствие результатов.
файл прикладывать не вижу большого смысла, так как это пишется руками за 5 секунд, но приложу скрин что бы не получить такой ответ " у меня всё норм, не знаю как ты так считаешь"

пары в которых получается подобный результат
1,1 и 1,2
1,3 и 1,4
1,6 и 1,7
1,8 и 1,9

другие считаются корректно
например у 1,7 и 1,9 разницу excel покажет "0,2" как должно быть
Активировать лист ххх, если нет, то создать и активировать
 
Казанский, спасибо
интересный вариант
а можно подробнее о синтаксисе данного макроса, для тех кто не в курсе
строка "If Err Then" равносильна ли записи "If Error Then"
что значит запись "Err.Clear" похоже на некий "сброс ошибки"
что значит запись "On Error GoTo 0" ноль - это должен быть номер линии на которую перейти в случае ошибки (это как я знаю на данный момент)
извиняюсь если вопросы примитивны, учителей у меня не было, хватаю информацию отовсюду, пытаюсь сам разбираться, полезно для работы ☺
Активировать лист ххх, если нет, то создать и активировать
 
не знал что можно страницы перебирать, знал только "for each cells in selection"
за это спасибо!
макрос перебирает страницы, но если не находит нужную, то не создаёт её
я, с вашего позволения, дополнил и получилось так

Код
Sub Finder()
tf_find = False
For Each Sh In ActiveWorkbook.Sheets
If Sh.Name = "BADAN" Then
tf_find = True
Exit For
End If
Next
If Not tf_find Then ActiveWorkbook.Sheets.Add.Name = "BADAN"[/COLOR][COLOR=#0000ff] 'Before:=ActiveWorkbook.Sheets(1)
'20 ActiveSheet.Name = "BADAN"
ActiveWorkbook.Sheets("BADAN").Select
End Sub


правда перестала работать одно место в строке 'Before:=ActiveWorkbook.Sheets(1) , поставил апостроф
в таком случае badan создает лист после активного листа
либо активной сделать строку 20 вместо Name = "BADAN"
тогда лист с нужным именем будет всегда первый
но не понятно что такое tf_find = false, что это? как тут это работает?
Активировать лист ххх, если нет, то создать и активировать
 
доброго дня
не смог найти на форуме ответ на данный вопрос
как написать в макросе что если лист с именем например "BADAN" уже есть, то сделать его активным для дальнейших действий, а если такого листа нет, то нужно его создать
пробовал if ... then ... else, не получилось написать условие "если", не знаю как
может вообще не IF надо использовать, подскажите кто знает

"on error goto 20" использовать не хочу, не совсем мне понятно как работает "on error"
один раз пропишешь эту стоку и при любой ошибке будет прыгать в одно и тоже место - в строку 20
это не всегда нужно, точнее никогда кроме одного случая с активированием страницы
а если в начале макроса будет стоять строка "on error resume next", тогда мне вообще не понятно как сработает макрос со строкой "on error goto 20"...
Страницы: 1
Наверх