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

Обращение к переменным из других модулей

25.11.2010, 10:20. Просмотров 10374. Ответов 3
Метки нет (Все метки)

Помогите разобраться с обращением к переменным из разных модулей, к примеру есть модуль
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
'===
Sub DataClear()
Static DataRange As Range
 
 
With DataRange
  
    .Replace What:="года", Replacement:="":
    .Replace What:="год", Replacement:="":
    .Replace What:="январь", Replacement:=".01.":
    .Replace What:="февраль", Replacement:=".02.":
    .Replace What:="март", Replacement:=".03.":
    .Replace What:="апрель", Replacement:=".04.":
    .Replace What:="май", Replacement:=".05.":
    .Replace What:="июнь", Replacement:=".06.":
    .Replace What:="июль", Replacement:=".07.":
    .Replace What:="август", Replacement:=".08.":
    .Replace What:="сентябрь", Replacement:=".09.":
    .Replace What:="октябрь", Replacement:=".10.":
    .Replace What:="ноябрь", Replacement:=".11.":
    .Replace What:="декабря", Replacement:=".12.":
    .Replace What:="января", Replacement:=".01.":
    .Replace What:="февраля", Replacement:=".02.":
    .Replace What:="марта", Replacement:=".03.":
    .Replace What:="апреля", Replacement:=".04.":
    .Replace What:="мая", Replacement:=".05.":
    .Replace What:="июня", Replacement:=".06.":
    .Replace What:="июля", Replacement:=".07.":
    .Replace What:="августа", Replacement:=".08.":
    .Replace What:="сентября", Replacement:=".09.":
    .Replace What:="октября", Replacement:=".10.":
    .Replace What:="ноября", Replacement:=".11.":
    .Replace What:="декабря", Replacement:=".12.":
    .Replace What:="возбуждено", Replacement:="":
    .Replace What:=" ", Replacement:="":
    .NumberFormat = "mm/dd/yyyy"
    
End With
    
End Sub
'===
Хочу задать диапазон DataRange из другого модуля, какими способами это можно сделать ?
Можно ли задать диапазон способом Set DataRange = Range("B:B, H:H, K:K"), или обязательно использовать Cells?
Как правильно потом обращаться к переменным из других модулей?

Заранее спасибо за ответы, не судите строго - в справочнике смотрел но так и не смог разобраться
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2010, 10:20
Ответы с готовыми решениями:

Публичные функции и обращение к ним из других модулей
unit DataModule; interface uses System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess,...

Обращение к переменным this
Всем доброго времени суток. Я изучаю php , но изучаю его сразу по готовому коду. Плскажите вот...

Обращение к переменным
Пытаюсь разобраться в visual studio 2010. Возникла проблема связи между 2 формами. В программе...

Обращение к переменным из xaml
Заранее прошу прощения за дилетантский вопрос, но я только начинаю изучать Xamarin и xaml, так что...

3
3 / 3 / 0
Регистрация: 29.10.2010
Сообщений: 54
25.11.2010, 12:00 2
prettyfly,

Грамотно поставленный вопрос содержит в себе половину ответа. Почитайте про "Область видимости переменных в VBA", множество вопросов у Вас отпадет. Чтобы определить переменную из другого модуля - сделайте ее глобальной. VBA будет считать любую переменную, объявленную вне процедуры или функции, глобальной. К глобальной переменной может получить доступ любой модуль.

Пример объявления глобальной переменной:

Visual Basic
1
2
3
4
Dim oRange as Range
 
Sub mySub()
End Sub
Пример объявления локальной переменной, видимой внутри модуля:

Visual Basic
1
2
3
4
5
Sub mySub()
 
Dim oRange as Range
 
End Sub
BR
1
128 / 23 / 3
Регистрация: 23.09.2010
Сообщений: 62
25.11.2010, 12:27 3
Pavel Murtishev, по умолчанию переменные локальные (Private), а не глобальные (Public).

Цитата Сообщение от Pavel Murtishev Посмотреть сообщение
Пример объявления локальной переменной, видимой внутри модуля:
видимой внутри процедуры.
1
3 / 3 / 0
Регистрация: 29.10.2010
Сообщений: 54
26.11.2010, 08:38 4
Terminators,

Спасибо за поправку. Точно же. Внутри процедуры.

BR
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.11.2010, 08:38

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

Косвенное обращение к переменным
Если можно, подскажите, пожалуйста, что происходит в данном примере подробно. Не могу разобраться с...

Обращение к переменным класса
#ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include "mainwindow.h" namespace Ui...

Обращение к переменным по счётчику
Всем привет! Помогите решить задачу) Необходимо в цикле обращатся к переменной используя счётчик....

Инициализация и обращение к переменным
Доброго времени. Возникли некоторые вопросы связанные с порядком инициализации. Ниже привожу...

Обращение к именам переменным
Добрый день. Подскажите, если способ обращения к переменным, имея имена переменных в строковом...

Доступ к переменным и процедурам из разных модулей
можно ли создать переменную в одном модуле, вызвать процедуру из этого модуля , находящуюся во...


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

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

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