Модераторы: Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [VBA+Excel] Вывод суммы выделеных строк, Макросом 
:(
    Опции темы
Rodman
Дата 17.8.2011, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



Дароф

Мне надо сделать макрос, который можно было устанавливать на Excel

А этот макрос выдавал бы сумму всех выделенных ячеек на текущем листе?

Дайте пример или хотя бы направление куда двигаться...

Сенкс
PM MAIL WWW Skype GTalk YIM MSN   Вверх
586
Дата 17.8.2011, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 7
Всего: 146



Цитата(Rodman @  17.8.2011,  14:20 Найти цитируемый пост)
Мне надо сделать макрос, который можно было устанавливать на Excel

А этот макрос выдавал бы сумму всех выделенных ячеек на текущем листе?

Код

Sub Button1_Click()
    MsgBox Application.WorksheetFunction.Sum(Selection)
End Sub


PS: В экселе же выводится сумма в статус баре.

Это сообщение отредактировал(а) 586 - 18.8.2011, 00:00
PM   Вверх
Rodman
Дата 18.8.2011, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



даже так...
а если просто вывести в msgbox все эти выбранные ячейки?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
586
Дата 18.8.2011, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 7
Всего: 146



Цитата(Rodman @  18.8.2011,  10:17 Найти цитируемый пост)
а если просто вывести в msgbox все эти выбранные ячейки?

через цикл
PM   Вверх
Rodman
Дата 18.8.2011, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 26
Всего: 122



1. как узнать самую нижнюю выбранную ячейку (ее номер)?
2. как проверять выбрана она или нет? 
PM MAIL WWW Skype GTalk YIM MSN   Вверх
586
Дата 19.8.2011, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 7
Всего: 146



Цитата(Rodman @  18.8.2011,  23:04 Найти цитируемый пост)
1. как узнать самую нижнюю выбранную ячейку (ее номер)?
2. как проверять выбрана она или нет? 

Это для чего - чтобы вывести все выбранные ячейки?
Ячейки могут быть выделены по-разному: могут быть выделены одной областью, а могут быть выделены с удержанной клавишей CTRL - в этом случае будет несколько областей.
Код
Sub Button2_Click()   
    Dim s As String
    Dim r

    For a = 1 To Selection.Areas.Count
        Set r = Selection.Areas(a)
        s = s & "Area " & a & vbCrLf
        For j = 1 To r.Rows.Count
            For i = 1 To r.Columns.Count
                s = s & r.Item(j, i).Value
                If i <> r.Columns.Count Then
                    s = s & vbTab
                End If
            Next
            s = s & vbCrLf
        Next
        s = s & vbCrLf
    Next
    MsgBox s
End Sub

Но ячейки, найденные в одном area, могут повторяться в другом area, если область выделения пересеклась с другой областью выделения.

Это сообщение отредактировал(а) 586 - 19.8.2011, 01:44
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Центр помощи | Следующая тема »


 




[ Время генерации скрипта: 0.0719 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.