Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 31.07.2008, 11:20   #1
gavrylyuk
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 55
По умолчанию Прибавление данніх из двух столбцов

Возникла задача прибавить к данным столбца М (начиная с 74 ячейки) прибавить данные столбца N (начиная с 10 ячейки). Я написал код
Sub msain()
Dim i As Long, summa As Double, x As Double, j As Long
Application.ScreenUpdating = False
For i = 74 To Cells(Rows.Count, "A").End(xlUp).Row
summa = Cells(i, "M")
For j = 10 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(i, "M") = summa + Cells(j, "N")
Next
Next
End Sub

Но он неправильно считает. Помогите его пожалуйста подправить.
Спасибо
gavrylyuk вне форума
Старый 31.07.2008, 12:57   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

судя по заданию - требуется к ячейкам столбца М, начиная с 74 строки, добавить содержимое ячеек из столбца N (начиная с 10 ячейки).

А в коде к ячейке столбца М энное количество раз прибавляется ее собственное значение + сумма энного числа ячеек из столбца N.

Если вернуться к первой задаче код должен быть таким:
Sub msain()
Dim i As Long, summa As Double, x As Double, j As Long
Application.ScreenUpdating = False
For i = 74 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(i, "M") = Cells(i, "M") + Cells(i-64, "N")
Next
End Sub

Есть тут еще один источник проблемы - определение количества обрабатываемых ячеек: Cells(Rows.Count, "A").End(xlUp).Row
Данные обрабатываем в колонке М, а сколько их есть определяем по колонке А. Возможно, все так задумано, но мне кажется это не логично.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума
Старый 01.08.2008, 10:12   #3
gavrylyuk
Пользователь
 
Регистрация: 26.06.2008
Сообщений: 55
По умолчанию

Спасибо большое, все получилось!!!
gavrylyuk вне форума
Старый 01.08.2008, 11:40   #4
дмидми
Форумчанин
 
Аватар для дмидми
 
Регистрация: 06.03.2008
Сообщений: 352
По умолчанию

Проще и быстрее
Код:
Option Explicit

Sub gavrylyuk()
    Const START_M = "M74"
    Const START_N = "N10"
    
    Range(Range(START_N), _
        Cells(Cells(Rows.Count, "A").End(xlUp).Row, "N")).Copy
    Range(START_M).PasteSpecial xlPasteValues, _
        xlPasteSpecialOperationAdd
    Application.CutCopyMode = False
End Sub
дмидми вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос данніх в зависимости от цвета ячейки gavrylyuk Microsoft Office Excel 8 08.08.2008 19:11
Отображение в форме и таблице двух столбцов подстановок smoky Microsoft Office Access 5 01.07.2008 09:27
Скрытие столбцов по условию snake980 Microsoft Office Excel 6 26.02.2008 16:52
Как извлечь из двух столбцов несовпадающие строки Shavminator Microsoft Office Excel 4 28.12.2007 12:23