Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 След.
Установить квадратные оси графика размером 2:1
 
Нашел то что нужно в англоязычном ресурсе.
https://peltiertech.com/Excel/Charts/SquareGrid.html
Установить квадратные оси графика размером 2:1
 
Цитата
Ігор Гончаренко написал:
безуспешно пытаюсь представить квадрат размерами 1:2
Я не говорил сделать квадрат размером 1:2. Я просил сделать квадратные оси для графика с размером 1:2
Установить квадратные оси графика размером 2:1
 
Спасибо за ответ, но мне необходимо другое.
Размер самого графика остаётся не изменным.
По моему примеру для графика "main" в зависимости от размера графика задаются значения осей Х и Y чтобы фигура была с правильным соотношением сторон к Х и Y. При этом размер самого графика остаётся неизменным. Данное решение работает при соотношение сторон самого графика 1:1, но мне необходимо сделать такое же решение, но для графика "main_2" при соотношении стороной (размер графика) 2:1
Установить квадратные оси графика размером 2:1
 
Добрый день.
Длительное время использовал готовое решение (макрос) для установки квадратных осей графика (Scatter).
В приложение сделал пример чтобы было проще понять о чем идет речь.
Данное решение работает для графика с размером сторон 1:1, но появилась необходимость сделать такое же решение, но для графика с соотношением сторон 2:1 или 3:1.
Пытался решить данный вопрос своими силами, но все мои варианты не работают.
Спасибо
При изменение внести значение в ячейку (VBA)
 
Юрий М,Большое спасибо. Именно то что нужно было.
При изменение внести значение в ячейку (VBA)
 
При изменение значения (вручную) в ячейке A1 должно быть вписано значение 1 в ячейку E10, что будет сигналом о том, что были введены изменения и необходим перерасчет.
При нажатие на кнопку Calculate значение в ячейке E10 будет поменяно на 0.
Дальше, если опять поменять значение в ячейке A1, то значение поменять на 1.
Изменено: Teklan - 26 Ноя 2018 15:09:08
При изменение внести значение в ячейку (VBA)
 
Цитата
Юрий М написал:
Отвечает на мой вопрос?
Понял. Вводится вручную.
При изменение внести значение в ячейку (VBA)
 
Цитата
Юрий М написал:
В какой ячейке (ячейках) происходит изменение?
хм, не думал что это важно. Подразумевалось, что в любой части Worksheet.
Но если это важно, то можно назначить диапазон. Скажем A1:Z200?
Цитата
Каким способом происходит это изменение?
В ячейке новое значение.
При изменение внести значение в ячейку (VBA)
 
Чтобы было проще в приложение пример.
Мне нужно, чтобы при изменения в экселе в ячейку E10 "Changed" вносилось значение 1.
При изменение внести значение в ячейку (VBA)
 
Не работает данный вариант если изменения вне ячейки "Changed" =(  
При изменение внести значение в ячейку (VBA)
 
Поставил проверку значение один или нет и все заработало.
Код
If Range("Changed") = 1 Then
    Range("Changed") = 0
End If

По видимому был бесконечный цикл ?
Изменено: Teklan - 26 Ноя 2018 11:33:07
При изменение внести значение в ячейку (VBA)
 
Доброй ночи,
Столкнулся с проблемой.
Необходимо установить расчет экселя мануально (кнопкой) т.к. расчетный файл большой и при каждом изменение нужно ждать 1-2сек.
Нужно сделать, чтобы было оповещение, что было изменение и необходимо сделать перерасчет.
В VBA вписал простой код, но выдается ошибка Out of stack space. Явно делаю что-то не так или чего-то не знаю.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Range("Changed") = 0
End Sub

т.е. дальше у меня была мысль форматированием сделать закрашивание ячейки красным если значение 0. При нажатие кнопки расчета соответственно значение будет меняться на 1.
Найти минимальное расстояние между точками
 
Вау, супер. Большое спасибо.
При первом взгляде на код не понятно ))) попробую разобраться как оно работает.
Например данная функция, что она далает ? Первый раз вижу на VBA такое оформление )))
Код
x(im) = v(j * 2 - 1, i): y(im) = v(j * 2, i)
Найти минимальное расстояние между точками
 
ZVI, Да, Вы правы. Необходимо вывести так же точки между которыми расстояние минимилаьное. Но как это сделать я точно не знаю :(

Да, игнорировать можно ячейки где значения нулевые.
То что мне приходит в голову это ограничивать границу массива т.к. точки заполняются с лева на право и сверху вниз.
Соответственно вводить в расчет не 25*50 размер массива, а скажем 8*6, как у меня в примере.

doober, Спасибо. Может когда будет время тогда.
Изменено: Teklan - 21 Ноя 2018 08:25:57
Найти минимальное расстояние между точками
 
Добрый день.
Имеется массив данных из 25 колонок и 50 строк (где 1 и 2 строка координата точек X и Y соответственно).
Необходимо найти минимальное расстояние между всеми точками. Я думал, что единственный вариант это сделать с помощью VBA т.к. необходимо перебрать все возможное варианты?
В примере всего 15 точек, но подразумевается, что может быть вариант и с 625 точками. (Может можно как-то игнорировать пустые значения?)
Расстояние между точками будет по формуле D = ((x_2 - x_1) ^ 2 + (y_2 - y_1) ^ 2) ^ 0.5
Я что-то начал делать в VBA, но у меня нет идей и достаточных знаний чтобы это реализовать. Поэтому обращаюсь за помощью.
Буду благодарен за любую помощь, спасибо.

П.С. Если не достаточно понятно объяснил
VBA - Комментарий в регионе из ячейки
 
Юрий М,Именно то что надо. Спасибо большое.
Пойду разбираться в Вашем коде и ставить в свой проект.
Изменено: Teklan - 4 Ноя 2016 14:13:36
VBA - Комментарий в регионе из ячейки
 
Да, Вы правы. Ошибся
VBA - Комментарий в регионе из ячейки
 
Понял Вас, да, если меняется сам комментарий, то все работает.
Я думал про другое.
Посмотрите пожалуйста:
http://screencast.com/t/z8MAfMpy
VBA - Комментарий в регионе из ячейки
 
Юрий М, Спасибо. То что надо.
А возможно сделать так же, чтобы старые комментарии удалялись ?
VBA - Комментарий в регионе из ячейки
 
Доброй ночи.
Прошу помощи у знатоков. Есть необходимость реализовать следующую задачу:
Нужно поставить комментарий в регионе (по примеру в RANGE(H15:R28)) в ячейку если имеется в ней значение (Или начинается с текста Amount:) и в комментарий внести значение из этой ячейки. Так же необходимо чтобы данный комментарий был динамичным (т.е. если значение пропало то удалился или если значение поменялось, то обновился).
В приложение пример.
Буду благодарен за помощь.

Спасибо заранее.
VBA - Разные действия в цикле
 
Да, совершенно правы.
Что-то я сглупил. Спасибо
VBA - Разные действия в цикле
 
Добрый день,
Название темы может не соответствует вопросу, но надеюсь это не проблема.
Имеется код с циклом который создает "FreeShape" по верх точек на графике (ниже часть кода).
Код
 For i = 1 To 6
     
      Set mySrs = myCht.SeriesCollection((i))
      Npts = mySrs.Points.Count
    
      ' first point
      Xnode = Xleft + (mySrs.XValues(Npts) - Xmin) * Xwidth / (Xmax - Xmin)
      Ynode = Ytop + (Ymax - mySrs.Values(Npts)) * Yheight / (Ymax - Ymin)
      Set myBuilder = myCht.Shapes.BuildFreeform(msoEditingAuto, Xnode, Ynode)
    
      ' remaining points
      For Ipts = 1 To Npts
        Xnode = Xleft + (mySrs.XValues(Ipts) - Xmin) * Xwidth / (Xmax - Xmin)
        Ynode = Ytop + (Ymax - mySrs.Values(Ipts)) * Yheight / (Ymax - Ymin)
        myBuilder.AddNodes msoSegmentLine, msoEditingAuto, Xnode, Ynode
      Next
    
      Set myShape = myBuilder.ConvertToShape
      
    With myShape
        ' USE YOUR FAVORITE COLORS HERE
        .Fill.ForeColor.RGB = RGB(255, 151, 151)
        .Line.ForeColor.RGB = RGB(0, 0, 0)
        .Line.Weight = 0
        .Line.Transparency = 1
        .Fill.Transparency = 0.6
    End With
    
    Next
На графике у меня несколько контуров и соответственно есть цикл от 1 до 6. Создается контур с закраской и тд.
Но, возможно ли для первого цикла сделать цвет один для (With myShape), а для остальных циклов другой?

Спасибо
Остановить макрос пока не закончит работу другой
 
Ув The_Prist,ваше решение работает отлично.
Большое спасибо. Можно идти спать спокойно :)
Остановить макрос пока не закончит работу другой
 
Спасибо за быстрый ответ, сейчас попробую.
Так же нашел только что на заграничном ресурсе данное решение:
http://www.ozgrid.com/forum/showthread.php?t=15934&s=0947bc791e31c69b6e1225d0f63bbcac&p=80694#post80...
Остановить макрос пока не закончит работу другой
 
Доброй ночи Ув. форумчане.
Беглый поиск по google не привел к положительным результатам =(
Возможно ли остановить работу макроса, который завязан на Worksheet_Change ?
В частности, в Worksheet_Change макрос, который задает графику равные X и Y координаты когда есть изменения (не мой):
Код
With Sheet14.Range("MaxMin")
           SetSquareAxes Sheet4.ChartObjects("Chart 21").Chart, 5, 5, _
                         .Cells(1), .Cells(3), _
                         .Cells(2), .Cells(4)
        End With
 
Имеется другой макрос, который работает с данными в таблице, но проблема в том, что при каждом изменение производится запуск Sub Worksheet_Change что очень, очень тормозит весь процесс.
Возможно ли остановить Worksheet_Change до окончания работы макроса?
Application.ScreenUpdating = False не помогает в данном случае.

Если будет необходим пример то подготовлю, но надеюсь проблема и так ясна. Спасибо
Программа по учету времени сотрудников
 
Stics,Спасибо. Гляну.
Но хочется попробовать сделать по средствам Excel.
Программа по учету времени сотрудников
 
Добрый вечер.
Необходима помощь/идеи (технической части) реализации программы в среде Excel по учету времени сотрудников, а именно:
Допустим, имеем 20 сотрудников, которые должны вводить учет времени по проделанной работе (на какой тип работы ушло сколько времени). К примеру, 2 часа - собрания, 3 часа работа с бумагами и тд. И так каждый день.
Соответственно в программе (если можно ее так назвать) необходима часть ввода и анализа.
По части анализа самое простое - это с помощью сводной таблицы (Pivot table). Можно сортировать, делать графики и тд.
Проблема по части с вводом данных и организации базы данных.

Имею некоторые идеи:
1) Для каждого человека создается свой файл, где в таблицу вводится вся информация. Проблема данного способа, как объединить всю информацию в 1 таблицу (в 1 базу данных). Сводная таблица не работает с данными из разных таблиц. У Николая Павлова есть пример на VBA, но каждый раз необходимо создавать новый отчет (не удобно).
Так же в данном способе много рутинной работы =(
2) Делать все в 1 файле (базу данных) в которой будут вводить учет времени. Но проблема, что одновременно может открыть только 1 человек.

Был бы рад идеям (направить в правильное русло), как лучше реализовать данную идею по средством Excel.

Заранее спасибо.
Скрыть строки в таблице VBA, Улучшить работу
 
Что-то не работает у меня.
А это для чего? :
Код
j = [MATCH("яяя",B:B)]
Скрыть строки в таблице VBA, Улучшить работу
 
По примеру:
В ячейке B9 вводим число - добавилась еще одна строка (открылась), ввели число в B10 - открылась след. пустая строка.

Дальше, удаляем из B10 - скрылась 1 пустая строка и т.д.
Вопрос был в том, можно ли сделать так, чтобы при удаление сразу же 2ух строк (к примеру B9,B10) скрылись так же 2 строки, а не одна.
Скрыть строки в таблице VBA, Улучшить работу
 
Добрый день,
В приложение пример с таблицей в которой при вводе порядкового номера в столбике "B" автоматически открывается скрытая ячейка, так же при удаление последней строки скрывается лишняя.
Вопрос, можно ли сделать так, чтобы при удаление нескольких строк так же скрывались несколько строк и была только одна свободная. (Иначе сейчас необходимо удалять по порядку чтобы скрыть лишние строки).

Прошу посмотреть пример в приложении.
Страницы: 1 2 След.
Наверх