Перейти к содержимому

Фото
- - - - -

EXCEL


  • Вы не можете создать новую тему
  • Please log in to reply
54 ответов в этой теме

#1 bander

bander
  • Пользователь
  • 9 сообщений

Отправлено 22 октября 2006 - 14:52

Нужна помощь по ехелю, а то4нее надо сделать домашнее задание. Там ехел + немного ВБА.
  • 0

#2 Skyman

Skyman
  • Пользователь
  • 82 сообщений
  • Откуда:Столица

Отправлено 22 октября 2006 - 17:09

Ну сразу и пишите, чего вы хотите... Или думаете, что все будут писать в личку и спрашивать, чего вам сделать? :)
  • 0
--
keep going!

#3 bander

bander
  • Пользователь
  • 9 сообщений

Отправлено 22 октября 2006 - 17:27

ну там вообщем такие задания как составить пример, составить викторину, нарисоват деталь и наити к ней объём и т.д.



вот кстати сам файл http://www.tud.ttu.e...475/Valemid.xls
  • 0

#4 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 23 октября 2006 - 18:33

а кто-нибудь мне может сказать, как сделать так, чтобы определенный лист вообще с кодом работал? Тоесть к примеру, чтобы лист 2 принимал значения, которые вписываются в Б3 и Б4 и Б5 и вообщем такого плана?
  • 0

#5 premiere

premiere

    don premiere

  • Постоялец
  • 719 сообщений
  • Откуда:йошкар-ола

Отправлено 23 октября 2006 - 18:46

OzzY, в кнопке? если про кнопку (или любое другое действие) - идёт обращение так:
worksheets("Sheet1").range("B2") = "qwerty"
можно сделать так:
worksheets("Sheet1").range("B2") = worksheets("Sheet2").range("С2")
т.е. в первый лист в клетку Б2 будет копироваться значение со второго листа клетки С2
в range можно указывать и диапозоны.
это? или не так понял?

bander, переведи там на русский или напиши тут объяснения чего от тебя просят - помогу сделать
  • 0

#6 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 23 октября 2006 - 21:02

не, не так понял, нет кнопок, просто лист.
там у bander вроде в задании тоже что-то подобное есть, где корни квадратного уравнения нужно считать (px^2 +qx +С=0). Тоесть к примеру в одну ячейку нужно ввести просто чило(которое равно коэффициенту p) в другую ячеюку вводить другое число (коейициент q), в третью коеффициент C и в две другие ячейки показывают значение x1 и x2. И эти значения расчитывает VBA
  • 0

#7 bander

bander
  • Пользователь
  • 9 сообщений

Отправлено 23 октября 2006 - 21:46

ну так как ..никто не может помочь ? Естественно не за спасибо :)
  • 0

#8 premiere

premiere

    don premiere

  • Постоялец
  • 719 сообщений
  • Откуда:йошкар-ола

Отправлено 23 октября 2006 - 21:58

OzzY, обращение к ячейке в вба идёт через оператор range()
например range("D14") или range("D3:D14").
то что ты будешь делать с оператором - его приравниватьЮ его сравнивать, удалять, копировать и т.д. это уже зависит от того, что нужно. при каком условии это будет выполняться (условие if, условие нажатие кнопки, условие активации листа и т.д.) - зависит от того, как тебе нужно. напиши конкретную задачу :)
bander, дык написал же. переведи - помогу :)
  • 0

#9 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 24 октября 2006 - 16:53

premiere, задание такое (как выглядет смотри в фаиле): есть ячейки с названиями a, b, c. В них нужно вписать цифры(целые числа). И в ячейки x1 x2 должны считаться корни квадратного уравнения (по формуле, как там есть, для одного с плюсом, для другого с минусом). Как это сделать? Кнопок никаких нет, напрямую значения вводятся в ячейки.

п.с. то, что там на рисунке введено, это не работает...считай, что там ничего нет.

Прикрепленные файлы

  • Прикрепленный файл  exel.JPG   69,43К   49 Количество загрузок

Сообщение изменено: OzzY (24 октября 2006 - 16:54 )

  • 0

#10 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 25 октября 2006 - 23:57

после ввода данных жми ctr+d :D
вот
  • 0

#11 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 26 октября 2006 - 16:11

а у меня если в лист переносить не работает почему-то 8-O
  • 0

#12 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 26 октября 2006 - 17:20

ты перенес этот лист в другую кнмку и он там не работает?
закрой ту книгу из которой ты переносил
или измени шорткат(ctrl+?)
  • 0

#13 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 26 октября 2006 - 19:46

я перенес не лист, а код из твоего листа на мой и этот код (функция func()) не работает.
  • 0

#14 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 26 октября 2006 - 21:10

так а ты шорткат сделал к этой функции??
(tools->Macro->Macros->из списка выбери func->Options->Shortcut key)
  • 0

#15 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 26 октября 2006 - 23:07

хз, все равно не работает :S
  • 0

#16 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 26 октября 2006 - 23:20

выложи сюда я посмотрю что там не работает
  • 0

#17 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 27 октября 2006 - 09:56

Прикрепленный файл  Valemid.rar   98,37К   61 Количество загрузокВот..

Сообщение изменено: OzzY (27 октября 2006 - 09:58 )

  • 0

#18 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 27 октября 2006 - 12:04

всё там работает :blink: :blink:
у тебя там только большая "D" вписана тогда надо ctrl+shift+d или CapsLock включи

или тебя не устраивают сами вычисления?

Сообщение изменено: BFG (27 октября 2006 - 12:05 )

  • 0

#19 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 27 октября 2006 - 15:51

не, вроде ок считает...

а как график строить? можно просто макро записать, да? потому что с этим графиком такое дело - там по заданию нужно сделать график квадратичной функции в промежутке от -5 до 5.но вот как по каким значениям его строить? Ведь иксы могут выходить из этого промежутка, но так как функция по сути бесконечная, то может хоть часть этой параболы будет влазить в график? Нет ли возможности строить график не по значениям икс и игрек, а по формуле и коэффициентам? :huh:

Сообщение изменено: OzzY (27 октября 2006 - 17:08 )

  • 0

#20 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 27 октября 2006 - 18:54

может так Прикрепленный файл  Valemid.rar   99,21К   38 Количество загрузок
  • 0

#21 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 28 октября 2006 - 11:07

хехехехе, где ты такие праболы видел)
  • 0

#22 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 28 октября 2006 - 12:51

извените за косяк :rolleyes:
вот поправил Прикрепленный файл  Valemid.rar   98,94К   47 Количество загрузок
  • 0

#23 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 28 октября 2006 - 15:00

даа, это красиво, спасбо, а ты как его делал-то? что-то я в сурсах не нашел функции для графика))


эдит: а если в ячейке число стоит в процентах, то какой тип данных в ВБА будет? Dim As ?

Сообщение изменено: OzzY (28 октября 2006 - 17:08 )

  • 0

#24 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 28 октября 2006 - 18:16

даа, это красиво, спасбо, а ты как его делал-то? что-то я в сурсах не нашел функции для графика))

график строится по значениям из столбцов H и I
столбец H это твой интервал(-5,5), а I вычисляется по формуле(наверху будет написына когда кликнеш по ячейке столбца I)

а если в ячейке число стоит в процентах, то какой тип данных в ВБА будет? Dim As ?

если со знаком % тогда строка(string)
  • 0

#25 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 28 октября 2006 - 20:22

ага, ясно, а почему у меня вот такую строку(не в вба, а как формулу) =IF(C9<=J11;0;IF(J11<C9<=K11;C8*O14;IF(K11<C9<=M7;C8*P14;IF(C9>M7;C8*R11;"error") воспринимает только первое условие, и последнее, тоесть если K11<C9 и C9>M7 а в остальных случаях пишет "error"??

и еще, вот такая формула =ipp/(100*LS*p), где ipp=0,05% LS=13000 и p=561 он в ячейку пишет #REF! ? Наверно дело в ipp?? Но что мне с этими процентами делать?
  • 0

#26 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 28 октября 2006 - 21:46

вроде в конце не хватает 3х скобок )

а во второй формуле все считается и с процентами =)
будет 6.85589E-11
  • 0

#27 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 28 октября 2006 - 21:47

ага, ясно, а почему у меня вот такую строку(не в вба, а как формулу) =IF(C9<=J11;0;IF(J11<C9<=K11;C8*O14;IF(K11<C9<=M7;C8*P14;IF(C9>M7;C8*R11;"error") воспринимает только первое условие, и последнее, тоесть если K11<C9 и C9>M7 а в остальных случаях пишет "error"??

и еще, вот такая формула =ipp/(100*LS*p), где ipp=0,05% LS=13000 и p=561 он в ячейку пишет #REF! ? Наверно дело в ipp?? Но что мне с этими процентами делать? а может дело и не в процентах

и еще пара вопросов , можно? :) : Как сравнивать строки? str=string, так можно?

что за тип Date? Что за дату он вернет? Как работать с такими числами, если я хочу узнать (зная день рождения в виде день.месяц.год) кол-ви полных лет в днях, в годах?

будде добры) :rolleyes:


  • 0

#28 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 28 октября 2006 - 22:08

да, строки так как ты написал

тип Date может хратить в себе дату =))
Функция Date возвращает текушую дату

для твоей задачи наверное понадобятся такие функции

Day(дата) вернет день из даты
Month(дата) месяц
year(дата) год

и вроде бы даты можно складывать и вычитать и результат будет в днях
  • 0

#29 OzzY

OzzY

    Великий и Ужасный

  • Пользователь
  • 461 сообщений

Отправлено 29 октября 2006 - 11:42

вроде в конце не хватает 3х скобок )

а во второй формуле все считается и с процентами =)
будет 6.85589E-11


да нет, это я забыл их просто скопировать, а на самом деле у меня есть эти скобки, но все равно не правильно считает. Не мог бы ты посмотреть в чем дело? Почему не правиьно считает на листе kaup и на листе ideal не правильно считает rasvasus (это VBA) :blink:

Прикрепленные файлы

  • Прикрепленный файл  Valemid.rar   103,73К   4 Количество загрузок

  • 0

#30 BFG

BFG
  • Пользователь
  • 26 сообщений

Отправлено 29 октября 2006 - 13:08

Вроде все правильно в этом длинном сравнение
но почемуто 3ий ИФ(K11<C9<=M7) выдает фолс, хз почему :huh:
если условие составить так (M7>=C9>K11) тогда все ОК.

Sub ideaal()
	
	Dim l As Double
	Dim m As Double
	Dim t As Double
	Dim s As String
	Dim m_id As Double
	Dim r As Double
	Dim k_ind As Double
	
	l = Cells(22, 3)
	m = Cells(22, 4)
	t = Cells(23, 5)
	s = Cells(22, 6)

	If s = "naine" Then
		m_id = (3 * l - 450 + t) * 0.225 + 40.5
		r = ((m - m_id) / m) * 100 + 22
		ElseIf s = "mees" Then
			m_id = (3 * l - 450 + t) * 0.25 + 45
			r = ((m - m_id) / m) * 100 + 15
		Else
			m_id = 0
			r = 0
	End If
	Cells(22, 7) = r
End Sub

и на мой взгляд удобнее функцию вызывать по клику на кнопку :rolleyes:
  • 0