Как долго я Вас ждал. Сколько мне мыться вашей водой? Я ищу истину и красоту, а вот для сокрытия тайн нужна библия N-ого порядка. Форум офигенный, не шучу, но вот рассеиваться не люблю, воду пить надоело. Скажите метод хорд или секущих или касательных? Вот эту хрень как могу решить: f(x,y,z)=g(x,y,z)?Или самым грубым методом подбора на компе, что ли? Просто подскажите. Выяснилось, что вы еще и кретины -> поэтому мне поможете. Выяснилось, что я пока полный идиот, что Вас так называю. Но ведь, идиот это - главно-командующий кретинов. Ну а кретины - это проповедники истины, следуя этой логике, это правда-правда, и ничего кроме правды. Еще такой вопрос: как эксель делает графическую интерполяцию: по Безье, или по Лагранжу, когда получает сглаженные графики мне это очень надо узнать? Спасибо.)) Удачи Вам, Любви и Процветания.
Кто-нибудь может сказать, как компьютер на java/vba/python решает подобные уравнения без библиотек. Нужен Алгоритм. Болваны. Все остальное без Вас знаю. Меня эта вода давно достала, хочу водку пить и вино, и коньяк, и девушку неписанной красоты. Просто скажите какой алгоритм из численных методов алгебры, мат. анал, высшей мат. нужно юзать. В остальном - молодцы! Про спирограф слышал, про ряд Фурье тоже, про эпитрохоиды и эпициклы тоже. Мне нужен индивидуальный подход к реальностям высших порядков и к магии дизайнера. f(x,y,z)=g(x,y,z). Вот.
Цель: рисую графики функций в экселе. Это моё увлечение на сегодняшний вечер, но хочется и на питоне, что-нибудь сделать... Во-первых: Дано: уравнение любой сложности вида:
Код
f(x,y,z)=g(x,y,z)
Например, такое:
Код
sin(x)*(y+1)+z^2=cos(x)*sin(y)*tg(z)
1) Как решить эту балладу на компе без сторонних библиотек? Мне нужен Алгоритм! Т.е. должен получится массив из 3 точек Размером N: MyArray(N) = (Xn, Yn, Zn). Или же 3 столбика X, Y, Z. (на языке ячеек excel ) 2) Как-то же решает desmos или geogebra, когда пользователь вбивает в Input: свои скверные формулишки? 3) Обязательно ли применять дифурчик для этого дела. Если да то как решать дифурчик, есть ли алгоритмы для ручного решения д.у.? Во-вторых: Рафик был чистой воды не виновен.
В-четвертых: Посмотрите на это: https://youtu.be/HXnb-et3q1Q?list=PLLzv8AAxZ0QYkySxp-_RBIDFG2rMvgTIq "Conformal Mapping". Что это вообще такое происходит? А? Как это перевести в декартовы координаты? P.S.: Буду рад вычислить Вас по IP выслушать любые предложения по этому поводу.
Public Sub Test()
Dim Color1 As Variant
Color1 = Range("A1").Interior.Color 'get Color of A1".
R = Color1 Mod 256
G = Color1 \ 256 Mod 256
B = Color1 \ 65536 Mod 256
Debug.Print (R & ";" & G & ";" & B)
Debug.Print (R)
Debug.Print (G)
Debug.Print (B)
End Sub
Ура!!! Получилось! Просто добавил 2 строки: DoEvents, DoEvents:
Код
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Public Static Sub M_0000()
[Q2] = 0
Dim rng As Range
Set rng = Range("B2:E2")
Dim Delta As Double
Dim Pic As Double
Delta = 0.1
Pic = 10
Toy = 0
While ([Q2] = 0)
Sleep 1 'Задержка 1 ms, можно и 200, а можно и 1000
DoEvents 'Вот здесь нужно 2 раза прописать
DoEvents 'Вот здесь нужно 2 раза прописать
If rng.Cells(1).Value <= Pic Then
rng.Cells(1).Value = rng.Cells(1).Value + Delta
Else: rng.Cells(1).Value = Toy
rng.Cells(2).Value = rng.Cells(2).Value + 1
End If
Wend
End Sub
Public Static Sub M_0001()
If [Q2] = 0 Then
[Q2] = 1
Else: [Q2] = 0
End If
End Sub
У меня 2 вопроса. 1) Как ускорить обновление картинки диаграммы скажем с частотой каждые 200 МИЛИ СЕКУНД? 2) Во время макроса меняются данные, но на диаграмме, - вообще ничего не обновляется, "Почему?" - это второй вопрос .
Код
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Пробовал как выше, но это в начале можно поставить, а дальше в while MyCode Sleep 200 wend, но это тоже не срабатывает. P.S. юзаю точечную диаграмму (Xn,Yn).
Спасибо, значит был файл с погрешностями, все коды работают. Возможно проблема возникла из-за того то у меня был MS Office 2016 и OpenOffice 4. Так вот.
Не помогло также не работает может vba кривой! Может быть файл запорол, вставил в чистый excel. Итог: 1) И Ващенко работает. 2) И мой тоже работает, что могло быть причиной не знаю.
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub M0000()
Dim ee As Object
Dim zz As Object
Dim RR As Integer
Dim GG As Integer
Dim BB As Integer
RR = 0
GG = 0
BB = 0
Set ee = Nothing
Set zz = Nothing
Range("A1:Z60").Select
For Each zz In Selection
zz.Interior.Color = RGB(255, 255, 255)
Next zz
Range("A1:Z60").Select
For Each ee In Selection
RR = 0
GG = 0
BB = 0
RR = Int((254 * Rnd) + 1) 'Ý(0;255)
GG = Int((254 * Rnd) + 1)
BB = Int((254 * Rnd) + 1)
ee.Interior.Color = RGB(RR, GG, BB)
ee.Value = RR
Debug.Print RR
'On Error Resume Next
Next ee
End Sub
'Sleep 240
Я думал, может тип в начале неправильно указан: т.е. надо может `RR,GG,BB As Integer` а скажем `Double`, а в целом макрос должен рандомно красить ячейки с "A1:Z60" по схеме `ee.Interior.Color = RGB(RR, GG, BB)` Первые 4 раза запускаю - красит, а потом не срабатывает? В чем загвоздка - не знаю!!!
Павел \Ʌ/, 1) А как сделать данные диаграммы, чтобы брались только x и y (без (-y))? 2) Логика такая задаем R (5) 3) Задаем x (-5; 5) c шагом (0,1) 2 раза 4) Дальше вычисляем y по формуле y=КОРЕНЬ(R^2-x^2) 5) Верно? 6) Помогите мне, пожалуйста)
Изменено: Arthur Alunts - 29.07.2023 19:07:18(Уточнил.)
Приветствую. Рисовать график по параметрическому уравнению умею. Нужно задать t: (-100;100) c шагом (0,1) (можно и по-другому) и задать R: (12). И вычисляем:
Код
x= R*cos(t)
y= R*sin(t)
Далее выделяем столбики с x и y и выбираем тип диаграммы: x y диаграмма. Кстати, если поиграться с шагом, то можно получить суперкрасивые графики. Но я заморочился по другому поводу: есть другое уравнение окружнсти (непараметрическое):
Код
R^2=x^2+y^2
Что нужно задать и как вообще решить эту галиматью? В конечном исходе должен получится столбик x и столбик y?Как ответить за базар?
Изменено: Arthur Alunts - 29.07.2023 01:38:08(Уточнил.)
У меня вопросы, профессор: 1. А как паузу между прибавлением сделать, скажем 1/1000 секунды или хотя бы 1/100 секунды? 2. Как звук убрать или поставить свой .wav или .mp3? 3. Как он определяет границы, по Image что ли, Вы, что вставили картинки для детекта границ? 4. Иногда вылетает, зависает, пока не понял из-за чего и говорит Debug, End с этой ошибкой как быть? 5. Как сделать вызов процедуры Call MySub() при наведении на A1?
Далее нужно навести мышку на ячейку A1, как и завещано. У меня все работает, проверялось как разн а Office x64 2021. Ах да, это же "не безопасный код" (перехват мыши) - лучше отключить антивирус. Дополню, еще условие - страница должна быть развернута на весь экран или хотя бы пол-экрана
У меня не работает, даже после смены формул R1C1, отключения антивира, ctrl+shift+F1, поменял
Код
#If VBA7
на
Код
#if Win64
- тоже не помогло, нажимаю F10/F9 работает, но только эта функция, а при наведении на [A1] ничего не происходит. Что делать - не знаю. Help me!!! Please!!!
У меня OS: Windows 10 Pro 64 bit, MS +Office 2021 Pro все не пиратское, а скаченное с оффиц. сайта, либо купленное либо, то и другое. Но беда: у меня этот макрос ничего не работает (123.zip загрузил, распаковал.). Нажимаю кнопки ничего не происходит? Вообще говоря я Вынес это в отдельную тему: Событие при наведении курсора мыши на клетку, Как это сделать? Вот сюда нажмите. В коде три строчке закомментировал. А еще все виснет и выкидывает из excel. Что не так с примером, что подрулить?)
Код
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function BeepApi Lib "kernel32" Alias "Beep" (ByVal dwFreq As LongPtr, ByVal dwDuration As LongPtr) As LongPtr
Private Declare PtrSafe Function SetTimer Lib "USER32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr
Public Declare PtrSafe Function KillTimer Lib "USER32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long
#Else
'Private Declare Function BeepApi Lib "kernel32" Alias "Beep" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
'Private Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
'Private Declare Function KillTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
#End If
#If VBA7 Then
Public TmrIDA1 As LongPtr, TmrIDB2 As LongPtr
#Else
Public TmrIDA1&, TmrIDB2&
#End If
Private Const A1ItmrInterval& = 300 'Интервал таймера A1 в миллисекундах
Private Const B2ItmrInterval& = 500 'Интервал таймера B2 в миллисекундах
Private nA1&, nB2& 'щетчики
Public cellA1 As Range, cellB2 As Range 'объекты ячеек A1, B2
Привет, друзья!!! Еще кое-что интересует... ) Как теперь сделать другое?Например, как сделать приращение ячейки [A1]:
Код
[A1]=[A1]+1
при наведении на A1 курсора, [хочу написать небольшую игру], когда в пределах клетки A1 или B2 то у них увеличивается значение до тех пор пока курсор касается ячейки A1. Как программно сказать vba? Здесь тот же подход: типа зажал (т.е. если курсор наведен на A1 и в пределах A1 [ячейки]), тогда ячейка сама увеличивается, в противном случае: если увести за пределы, то ячейка не меняется, или скажем угасает на 2 хит понта.
Ребятки. Вот оно. Суть такая: период журнала - 1 месяц. Когда цифры =DAY() дня месяца совпадают с индексом, то vba делает свое дело. Инструкция такая: вызываю форму по кнопке. Пишу событие в поле текста и нажимаю кнопку формы, и, вуаля, напртив даты на сегодня появляется событие, но только, напртив сегодняшней даты. Есть тут еще диаграммка. Но это - так, понты. Короче все получилось, я от java отталкивался. Всем, спасибо, до скорой встречи...)
Привет, всем. Короче, сегодня научился пользоваться формой ))) это весело!) , но не могу понять, как вести форму, так чтобы если ввожу данные , то они сохраняются в журнале по датам т.е. актуальная инфа. На java пробовал делать. Но на vba - никак не пойму. Даже не знаю, в каком направлении рыть? Помогите, ребятки!)
Ура, получилось, кое-что надыбал в сети, теперь нужно переименовать диаграмму и лист в ячейках A1 A2 соответственно, и конечно переименовать саму диаграмму и сам лист. Вот полный код... И, кому надо, прикладываю файл.
Код
Sub Macro0()
Call SetChartColorsFromDataCells([A2], [A1])
End Sub
Sub SetChartColorsFromDataCells(SheetName As String, ChartName As String)
'[A1] = "D_0"
'[A2] = "Sheet_0"
MyColors = RGB(122, 200, 0)
' Set c = ActiveChart
Dim c As Chart
Set c = Sheets(SheetName).ChartObjects(ChartName).Chart
For j = 1 To c.SeriesCollection.Count
f = c.SeriesCollection(j).Formula
m = Split(f, ",")
Set r = Range(m(2))
For i = 1 To r.Cells.Count
'F0:***********Diagram Sector.Color equals Cell.Color:*****************
' c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _
' r.Cells(i).Interior.Color
'F1:**********RGB manual diagram manual set:************
'c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _
'RGB(100,10,10)
'F2:************Diagram Sector As Condition Fiormatting*****************
c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _
r.Cells(i).DisplayFormat.Interior.Color
Next i
Next j
End Sub
Можно и так, как Вы сказали: вместо:
Код
Set c = Sheets(SheetName).ChartObjects(ChartName).Chart
использовать:
Код
Set c = ActiveSheet.ChartObjects("D_0").Chart
И не забываем разблокировать файл: ПКМ по файлу, поставить галочку напротив разблокировать. Включаем макросы и т.д. и т.п. Спасибо, ребята!!
Это понятно, мне надо как-то в макросе обратится по названию диаграммы к самой диаграмме , чтобы не выделять её. Например.:
Код
Set c = ActiveChart
Здесь надо как-то вместо ActiveChart написать саму диаграмму, т.е. имя её... но это не получается (. Задача такая, без выделения диаграммы, выполнить макрос над диаграммой по её имени.Как это сделать?
Sub SetChartColorsFromDataCells()
If TypeName(Selection) <> "ChartArea" Then
MsgBox "Сначала выделите диаграмму!"
Exit Sub
End If
Set c = ActiveChart
For j = 1 To c.SeriesCollection.Count
f = c.SeriesCollection(j).Formula
m = Split(f, ",")
Set r = Range(m(2))
For i = 1 To r.Cells.Count
' c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _
' r.Cells(i).Interior.Color
c.SeriesCollection(j).Points(i).Format.Fill.ForeColor.RGB = _
r.Cells(i).DisplayFormat.Interior.Color
Next i
Next j
End Sub
Проблема в том, что диаграмму сначала нужно выделить, в моем случае это кольцевая диаграмма. А мне надо как-то в коде прописать название диаграммы, чтобы потом сразу по клику на макрос срабатовало окрашивание.(Сразу, - без предварительного выделения диаграммы.) Как мне это сделать?Как узнать имя диаграммы и вписать его в макрос?Спасибо!
Изменено: Arthur Alunts - 04.01.2023 13:51:28(опечатка)