Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/написать скрипт изменяющий сред знач. столбца - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » написать скрипт изменяющий сред знач. столбца (Макросы Sub)
написать скрипт изменяющий сред знач. столбца
stargard Дата: Среда, 11.12.2013, 17:48 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
Здравствуйте, помогите пожалуйста написать скрипт который бы изменял среднее арифметическое значение столбца на заданное путем замены значений в столбце на не сильно отличающиеся от него, спасибо огромное
К сообщению приложен файл: 132432432434.xlsx (18.2 Kb)
 
Ответить
СообщениеЗдравствуйте, помогите пожалуйста написать скрипт который бы изменял среднее арифметическое значение столбца на заданное путем замены значений в столбце на не сильно отличающиеся от него, спасибо огромное

Автор - stargard
Дата добавления - 11.12.2013 в 17:48
stargard Дата: Среда, 11.12.2013, 18:18 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
но что бы при этом колличество значений не изменялось бы
 
Ответить
Сообщениено что бы при этом колличество значений не изменялось бы

Автор - stargard
Дата добавления - 11.12.2013 в 18:18
SkyPro Дата: Среда, 11.12.2013, 18:26 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub toAVG()
Dim x, i&
x = [C6:C47]
      Do While Application.WorksheetFunction.Average(x) < 2.78
          For i = LBound(x) To UBound(x)
              x(i, 1) = x(i, 1) + 0.00001
              If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext1
          Next
      Loop
ext1:
[C6:C47] = x
Erase x

x = [C106:C166]
      Do While Application.WorksheetFunction.Average(x) < 2.78
          For i = LBound(x) To UBound(x)
              x(i, 1) = x(i, 1) + 0.00001
              If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext2
          Next
      Loop
ext2:
[C106:C166] = x
End Sub
[/vba]
Тупо добавляет в цикле ко всем значениям по 0,00001, пока не получится требуемое.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Среда, 11.12.2013, 18:28
 
Ответить
Сообщение[vba]
Код
Sub toAVG()
Dim x, i&
x = [C6:C47]
      Do While Application.WorksheetFunction.Average(x) < 2.78
          For i = LBound(x) To UBound(x)
              x(i, 1) = x(i, 1) + 0.00001
              If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext1
          Next
      Loop
ext1:
[C6:C47] = x
Erase x

x = [C106:C166]
      Do While Application.WorksheetFunction.Average(x) < 2.78
          For i = LBound(x) To UBound(x)
              x(i, 1) = x(i, 1) + 0.00001
              If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext2
          Next
      Loop
ext2:
[C106:C166] = x
End Sub
[/vba]
Тупо добавляет в цикле ко всем значениям по 0,00001, пока не получится требуемое.

Автор - SkyPro
Дата добавления - 11.12.2013 в 18:26
stargard Дата: Среда, 11.12.2013, 18:29 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
спасибо огромное)))) а можно ли этот цикл задать напирмер не на два name а на 1857 ? что бы он сразу видел соответствующие средние и подбивал бы под них ?
 
Ответить
Сообщениеспасибо огромное)))) а можно ли этот цикл задать напирмер не на два name а на 1857 ? что бы он сразу видел соответствующие средние и подбивал бы под них ?

Автор - stargard
Дата добавления - 11.12.2013 в 18:29
stargard Дата: Среда, 11.12.2013, 18:41 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
что бы напимер средние значения которые должны быть не прописывались вручную а брались из определенного столбца ?
 
Ответить
Сообщениечто бы напимер средние значения которые должны быть не прописывались вручную а брались из определенного столбца ?

Автор - stargard
Дата добавления - 11.12.2013 в 18:41
SkyPro Дата: Среда, 11.12.2013, 18:51 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Можно. А потом еще что-либо, тоже можно. Попробуйте что-либо сделать сами.


skypro1111@gmail.com
 
Ответить
СообщениеМожно. А потом еще что-либо, тоже можно. Попробуйте что-либо сделать сами.

Автор - SkyPro
Дата добавления - 11.12.2013 в 18:51
stargard Дата: Среда, 11.12.2013, 18:52 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
Спасибо Вам большое ))))))) очень помогли
 
Ответить
СообщениеСпасибо Вам большое ))))))) очень помогли

Автор - stargard
Дата добавления - 11.12.2013 в 18:52
stargard Дата: Среда, 11.12.2013, 19:17 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
подскажите пожалуйста как задать в данном скрипте зависимость не конкретных значений средних значений а местонахождение их ?
[vba]
Код
Sub toAVG()
Dim x, i&
x = [C6:C47]
Do While Application.WorksheetFunction.Average(x) < 2.78
For i = LBound(x) To UBound(x)
x(i, 1) = x(i, 1) + 0.00001
If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext1
Next
Loop
ext1:
[C6:C47] = x
Erase x

x = [C106:C166]
Do While Application.WorksheetFunction.Average(x) < 2.78
For i = LBound(x) To UBound(x)
x(i, 1) = x(i, 1) + 0.00001
If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext2
Next
Loop
ext2:
[C106:C166] = x
End Sub
[/vba]
то есть что бы использовался не 2,78 а например ячейка Е2 ? или ячейки Е2-Е5 поскажите плиз )))


Сообщение отредактировал Serge_007 - Среда, 11.12.2013, 20:48
 
Ответить
Сообщениеподскажите пожалуйста как задать в данном скрипте зависимость не конкретных значений средних значений а местонахождение их ?
[vba]
Код
Sub toAVG()
Dim x, i&
x = [C6:C47]
Do While Application.WorksheetFunction.Average(x) < 2.78
For i = LBound(x) To UBound(x)
x(i, 1) = x(i, 1) + 0.00001
If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext1
Next
Loop
ext1:
[C6:C47] = x
Erase x

x = [C106:C166]
Do While Application.WorksheetFunction.Average(x) < 2.78
For i = LBound(x) To UBound(x)
x(i, 1) = x(i, 1) + 0.00001
If Application.WorksheetFunction.Average(x) >= 2.78 Then GoTo ext2
Next
Loop
ext2:
[C106:C166] = x
End Sub
[/vba]
то есть что бы использовался не 2,78 а например ячейка Е2 ? или ячейки Е2-Е5 поскажите плиз )))

Автор - stargard
Дата добавления - 11.12.2013 в 19:17
SkyPro Дата: Среда, 11.12.2013, 19:18 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Do While Application.WorksheetFunction.Average(x) < [E2].value
[/vba]


skypro1111@gmail.com
 
Ответить
Сообщение[vba]
Код
Do While Application.WorksheetFunction.Average(x) < [E2].value
[/vba]

Автор - SkyPro
Дата добавления - 11.12.2013 в 19:18
stargard Дата: Среда, 11.12.2013, 19:20 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
спасибо ))))))
 
Ответить
Сообщениеспасибо ))))))

Автор - stargard
Дата добавления - 11.12.2013 в 19:20
stargard Дата: Среда, 11.12.2013, 19:23 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
а промежуток будет так Do While Application.WorksheetFunction.Average(x) < [E2..Е15].value?
 
Ответить
Сообщениеа промежуток будет так Do While Application.WorksheetFunction.Average(x) < [E2..Е15].value?

Автор - stargard
Дата добавления - 11.12.2013 в 19:23
stargard Дата: Среда, 11.12.2013, 19:24 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
нет кажеться не так
 
Ответить
Сообщениенет кажеться не так

Автор - stargard
Дата добавления - 11.12.2013 в 19:24
SkyPro Дата: Среда, 11.12.2013, 19:25 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
1. Для оформления кода есть специальные теги [vba ][ code][ /code][ /vba]
2. Дайте уже файл и нормально опишите, что вы хотите.
3. Форум не чат. + сдесь есть возможность правки своего поста.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Среда, 11.12.2013, 19:26
 
Ответить
Сообщение1. Для оформления кода есть специальные теги [vba ][ code][ /code][ /vba]
2. Дайте уже файл и нормально опишите, что вы хотите.
3. Форум не чат. + сдесь есть возможность правки своего поста.

Автор - SkyPro
Дата добавления - 11.12.2013 в 19:25
stargard Дата: Среда, 11.12.2013, 19:30 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
Помогу прошу (((( вот файл мне нужно что бы каждый столбец с ТС с name 1 сканировался на среднее значение и если оно отличалось бы от ТСaver то его бы среднее значение приравнивалось бы к значению какое должно быть равное ТСaver предыдушим способом, проблема в том что неоходимо задать промежуток сканирования столбцов из 1855 штук ((((
К сообщению приложен файл: _1111.xlsx (15.6 Kb)
 
Ответить
СообщениеПомогу прошу (((( вот файл мне нужно что бы каждый столбец с ТС с name 1 сканировался на среднее значение и если оно отличалось бы от ТСaver то его бы среднее значение приравнивалось бы к значению какое должно быть равное ТСaver предыдушим способом, проблема в том что неоходимо задать промежуток сканирования столбцов из 1855 штук ((((

Автор - stargard
Дата добавления - 11.12.2013 в 19:30
stargard Дата: Среда, 11.12.2013, 19:32 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
и так дальше сканировался с name 2 и так далее их всего 1855 штук ужас я тупике (((((


Сообщение отредактировал stargard - Среда, 11.12.2013, 20:15
 
Ответить
Сообщениеи так дальше сканировался с name 2 и так далее их всего 1855 штук ужас я тупике (((((

Автор - stargard
Дата добавления - 11.12.2013 в 19:32
stargard Дата: Среда, 11.12.2013, 20:44 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 41
Репутация: 0 ±
Замечаний: 60% ±

Excel 2007
SkyPro, простите а не подскажите как ячейку С связать с ячейкой name? что бы С импользовалась только тогда когда name не пустая ?
 
Ответить
СообщениеSkyPro, простите а не подскажите как ячейку С связать с ячейкой name? что бы С импользовалась только тогда когда name не пустая ?

Автор - stargard
Дата добавления - 11.12.2013 в 20:44
esinaya Дата: Среда, 11.12.2013, 22:30 | Сообщение № 17
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
v
 
Ответить
Сообщениеv

Автор - esinaya
Дата добавления - 11.12.2013 в 22:30
esinaya Дата: Среда, 11.12.2013, 22:31 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
интересно как решить эту задачу ? )))
 
Ответить
Сообщениеинтересно как решить эту задачу ? )))

Автор - esinaya
Дата добавления - 11.12.2013 в 22:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » написать скрипт изменяющий сред знач. столбца (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!