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

Страницы: 1 2 След.
Объединение массивов (VBA), Объединить 3 массива в один
 
Ігор Гончаренко, Благодарю
Объединение массивов (VBA), Объединить 3 массива в один
 
Создал вариант как сам представляю перебором.
Создаем массив постепенно с добавлением последующего массива.
Может существует лучший способ ?
Объединение массивов (VBA), Объединить 3 массива в один
 
Прошу помощи написать функцию на VBA для объединение 3 массивов в один.
Прошу посмотреть пример в приложение.
Предположим имеем 3 разных вводных массива и на выводе необходимо получить 1 массив данных.
A
B
C
D
E
      F
        G
12345AX1
12345BX2
12345CX3
12345DX4
12345EX5
Спасибо
Изменено: Teklan - 15.05.2022 00:42:24
Перемножение данных из разных вводных массивов данных.
 
doober, огромное спасибо! А я все думал что я массив не правильно делаю.
Перемножение данных из разных вводных массивов данных.
 
Цитата
Ігор Гончаренко написал:
расчет чего?
Перемножение данных из разных вводных массивов данных.
vikttur, возможно такое же название темы было бы лучше. Приношу извинения  
Изменено: Teklan - 10.09.2021 23:15:37
Перемножение данных из разных вводных массивов данных.
 
Добрый вечер.
Необходима помощь знатоков.
Имеется расчет сделанный в VBA. Пытаюсь сделать так, чтобы весь расчет был в 1 массиве, но расчет проводится не правильно. Не могу понять в чем ошибка.
В приложение пример.
Имеется функция "test - в примере результат закрашен зеленым фоном" которая производит расчет и выводит массив в 1 строчке.
Если я делаю массив "test_array - в примере результат закрашен желтым фоном" то тогда каждая новая строчка это сумма двух и тд.
Как сделать так, чтобы в массиве "test_array" выводилась не сумма, а результат как в "test".
Изменено: vikttur - 10.09.2021 23:22:07
Установить квадратные оси графика размером 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.11.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.11.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.11.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 - 04.11.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...
Страницы: 1 2 След.
Наверх