Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
MyQuestion
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 20
1

Работа с выделенной областью как с двумерным массивом

12.11.2012, 11:51. Просмотров 2009. Ответов 2
Метки нет (Все метки)

На рабочем листе выделена область двумерного массива.
Можно ли в модуле определить её координаты и работать как с новым массивом?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 11:51
Ответы с готовыми решениями:

Работа с полученным двумерным массивом Excel в VBA
Приветствую вас, уважаемые знатоки! Я долго пытаюсь что-то сделать с этой проблемой, но, все мои...

Операции с двумерным массивом!
Пожалуйста, помогите решить простенькую задачку! Найти минимальный элемент среди элементов p-oго...

Решение задачи с двумерным массивом
Составить блок схему и текст программы: Найти вектор Y, каждая компонента которого равна количеству...

Работа с двумерным массивом
Задача. Ввести целочисленный двумерный массив , вывести его. Найти k– количество чётных элементов...

Работа с двумерным массивом
Очень прошу помощи!! SQL запросом взял переменную из БД. "Конвертировал" в понятный вид:...

2
Скрипт
5454 / 1135 / 49
Регистрация: 15.09.2012
Сообщений: 3,432
12.11.2012, 12:51 2
Вариант 1
Кликните здесь для просмотра всего текста
Условия применения кода:
  1. должно быть выделено более одной ячейки;
  2. ячейки должны быть выделены с помощью клавиши Shift или с помощью перетаскивания мыши;
  3. таким образом можно сделать массив с типом данных Variant.
Visual Basic
1
2
3
4
5
6
7
8
Sub Procedure_1()
 
    Dim vArray() As Variant
    
    'Помещаем в массив vArray выделенный массив с листа Excel
    vArray = Selection.Value
 
End Sub

Вариант 2
Кликните здесь для просмотра всего текста
Условия выполнения кода:
  • ячейки должны быть выделены с помощью клавиши Shift или с помощью перетаскивания мыши (но можно изменить это условие, но тогда нужно будет внести изменения в код).
Отличие от "Варианта 1":
  1. можно задать нужный тип данных массиву;
  2. можно поместить в массив ячейки, выделенные с помощью клавиши Ctrl (только код нужно изменить).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub Procedure_2()
 
    Dim dArray() As Double
    Dim lRowsCount As Long, lColumnsCount As Long
    Dim i As Long, j As Long
    
    'Берём количество строк и количество столбцов в массиве Excel.
    lRowsCount = Selection.Rows.Count
    lColumnsCount = Selection.Columns.Count
    
    'Задаём размер массива.
    'С массивом можно начать работать только после того,
    'как будет задан его размер. Размера массива - это количество строк
    'и столбцов в нём.
    ReDim dArray(1 To lRowsCount, 1 To lColumnsCount)
    
    'Переносим в массив dArray данные из массива Excel.
    For i = 1 To lRowsCount Step 1
        For j = 1 To lColumnsCount Step 1
        
            'Помещаем в массив dArray выделенный массив с листа Excel
            dArray(i, j) = Selection.Cells(i, j).Value
            
        Next j
    Next i
 
End Sub

Вариант 3

Кликните здесь для просмотра всего текста

Массив не создаётся, просто получается удобный доступ к выделенным ячейкам.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Procedure_3()
 
    Dim rRange As Excel.Range
    
    'Даём имя выделенному диапазону ячеек.
    Set rRange = Selection
        
    'Получаем данные из выделенного диапазона.
    'Чтобы увидеть результат работы кода: View - Immediate Window.
    Debug.Print rRange.Cells(1, 1).Value
    
End Sub
1
MyQuestion
0 / 0 / 0
Регистрация: 04.11.2012
Сообщений: 20
12.11.2012, 14:35  [ТС] 3
Скрипт, спасибо. Классно.
0
12.11.2012, 14:35
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.11.2012, 14:35

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Работа с двумерным массивом
Выручайте. Задан двумерный массив состоящий из n элементов. Надо найти среднее арифметическое...

Работа с двумерным массивом
требуется написать программу, которая будет сокращать марицу(через двумерный массив), т.е....

Работа с двумерным массивом
дан двумерный массив размером n*m,заполненный случайным образом. 1.Заменить отрицательный элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.