Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2016, 16:58   #1
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию НД() и график

Подскажите пожалуйста почему график всё-равно отображает #Н/Д в подписях?
Вроде вычитал что можно формулой НД() сказать графику что ячейка пустая и он не будет отображать в подписях нули
Вложения
Тип файла: xlsx Книга1.xlsx (21.3 Кб, 8 просмотров)
KApSuL вне форума Ответить с цитированием
Старый 20.04.2016, 17:30   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

функцией НД() Вы можете вернуть значение #Н/Д в ячейку
и абсолютно НИЧЕГО не можете "сказать" этой функцией графику

снова
CTRL+H
и замените
НД()
на
""
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.04.2016, 09:11   #3
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
функцией НД() Вы можете вернуть значение #Н/Д в ячейку
и абсолютно НИЧЕГО не можете "сказать" этой функцией графику

снова
CTRL+H
и замените
НД()
на
""
Тогда будут отображаться "0,0" на графике, пишут что график воспринимает как пустую ячейку только НД() и только тогда не отображает пустые ячейки нулями
KApSuL вне форума Ответить с цитированием
Старый 21.04.2016, 09:22   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

реально ПУСТЫЕ ячейки не отображаются на графике - это точно, эксел их игнорирует

а ячейка с формулой - Уже не пустая! даже если результатом вернет 0, "" (что на вид воспринимается как пусто, а на самом деле ячейка с строкой 0-й длинны) или #НД
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.04.2016, 09:26   #5
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

То есть, то что я вычитал про НД() - дезинформация?
Можно ли присвоить "empty" программно?
Или как поступить в данной ситуации? понимаю что можно пустые физически почистить, а как это сделать не убивая формулы не понятно...
KApSuL вне форума Ответить с цитированием
Старый 21.04.2016, 09:37   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

отказаться от формул и макросом вставить данные (там где есть что вставить)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.04.2016, 09:41   #7
KApSuL
Форумчанин
 
Регистрация: 04.09.2010
Сообщений: 119
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
отказаться от формул и макросом вставить данные (там где есть что вставить)
Можно маленький пример как работать с ссылками на другой файл в vba? чтобы знать что искать и в каком направлении идти, в написании макросов не особо понимаю, но может смогу что-нибудь нагуглить

всё нашёл, что-то примерно похожее
может кому будет полезным:
Код:
Sub Get_Value_From_Close_Book()
    Dim sShName As String, sAddress As String, vData
    'Отключаем обновление экрана
    Application.ScreenUpdating = False
    Workbooks.Open "C:\Users\statust_sanceram\Desktop\TV\2016\04\ustavka.xlsm"
    sAddress = "C29:AH33" 'или одна ячейка - "A1"
    'получаем значение
    vData = Sheets("дані").Range(sAddress).Value
    ActiveWorkbook.Close False
    'Записываем данные на активный лист книги,
    'с которой запустили макрос
    If IsArray(vData) Then
        [B2].Resize(UBound(vData, 1), UBound(vData, 2)).Value = vData
    Else
        [B2] = vData
    End If
    
    Range("B2:AG6").Select
    Selection.NumberFormat = "General"
    Selection.NumberFormat = "0.00"
    'Включаем обновление экрана
    Application.ScreenUpdating = True
End Sub
спасибо за помощь

Последний раз редактировалось KApSuL; 21.04.2016 в 13:15.
KApSuL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Затабулировать функцию. график указанной функции и график касательной к ней в точке с абсциссой AntonKalinin01 Помощь студентам 0 26.05.2013 07:18
График сменности (график работы) A1enushka Microsoft Office Excel 2 03.02.2012 18:26
график Licwin Помощь студентам 0 06.07.2011 09:19
график makc101 Помощь студентам 3 18.12.2009 03:55
График Paul_AG Общие вопросы C/C++ 3 29.05.2009 22:20