Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 11
1

Вывести две таблицы со списком городов и одну со списком их координат

19.12.2012, 06:37. Показов 1672. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
помогите пожалуйста написать макрос.функцией ВПР не пользоваться.такое условие. задача такая:
из выпадающих списков activex combobox расположенных по порядку, т.е. один под другим ,их всего 20? выбираются названия городов предварительно занесенные в сводную таблицу. свойство выпадающих списков activex :LinkedCell: определено в ячейки другой таблицы(будем называть ее базой для операций). так вот по названиям этих выбранных городов, в базе для операций, нужно найти соответствующие им координаты, они тоже занесены в сводную таблицу напротив каждого города, и перенести в такую же таблицу как и база для операций, но с названием (например база для вычислений) .Своиство BoundColumn и ColumnCount я пытался использовать, но мне необходимо вывести две таблицы со списком городов и одну со списком их координат.поэтому ничего не получается.
С уважением Володя
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2012, 06:37
Ответы с готовыми решениями:

Запись в две таблицы одновременно из поля со списком
Доброго времени суток, господа гуру Акссес!!! Есть форма с кучей полей со списком.(картинку формы...

Как из таблицы со списком, когда аудитории заняты, собрать таблицу со списком когда они свободны
Есть таблица: ID НомерАудитории Дата ВремяНачалааЗанятия ВремяКонца занятия 1 123 ...

Как реализовать работу со списком строк и списком цифр в классе List?
Добрый день! Проблема такая Есть класс-список: #include "stdafx.h" #include <iostream>...

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

8
Заблокирован
19.12.2012, 08:13 2
vova_letchik, приложи файл со своими наработками - будет легче сориентироваться в проблеме (Расширенный режим - скрепка(Управление вложениями) - Обзор... - Загрузить)
0
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 11
19.12.2012, 08:40  [ТС] 3
Апострофф, готовлю файл.щас выложу

Добавлено через 21 минуту
Апострофф, Ругается ком. "Управление вложениями
Ошибки загрузки
Эталон Штурманской Программы.xlsm:
Некорректный файл "
В чем дело?
0
Заблокирован
19.12.2012, 08:47 4
vova_letchik, заархивируй файл (желательно в ZIP).
0
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 11
19.12.2012, 09:07  [ТС] 5
ну вот значит, на первом листе у меня "Ввод основных данных" списки городов и точек маршрута, на втором"Все необходимые данные" производятся расчеты автоматом.я сделал конечно формулами эксель все расчеты, теперь перевожу все в макросы, но в силу моей неопытности......
смотрите на первом листе вводим города в combobox, столько сколько нам надо.все выводится в ячейку J по назначенному свойству.данные для combobox берутся со второго листа. задача в следующем: вывести этот же список городов в ячейке J с листа "Ввод основных данных", на лист "Все необходимые данные" в ячейку AR, далее макрос автоматически выбирает схожие названия городов в ячейке А на листе "Все необходимые данные" и вставляет их на этом же листе в ячейку R и S по количеству выбранных городов.вот и все.в редакторе на листе2 макрос, поиск и сравнение но я не могу допереть как назначить каждой combobox поиск конкретного текста и вывод по строкам их данных.
iFindText = Cells(2, 44) вот сдесь назначить как то значение combobox(1)....combobox(N)
все перепробовал и массивами и циклами.не хватает знаний по свойствам activeX
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub Worksheet_Calculate()
  Dim iFindText$, iText$, iColumn&, iRow&
    Dim iSource As Range, iArrSource As Variant
 Set iSource = Range("A2:a300")
        iCountText = Application.CountIf(ThisWorkbook.Worksheets("Все необходимые данные").Range("B:B"), "*")
       i = iCountText
    Set iSource = Range(Cells(2, 1), Cells(i, 5))
       iArrSource = iSource.Value
          iFindText = Cells(2, 44)
    For iColumn = 1 To iSource.Columns.Count 'UBound(iArrSource, 2)
        For iRow = 1 To iSource.Rows.Count   'UBound(iArrSource)
        iText = CStr(iArrSource(iRow, iColumn))
        If iFindText = iText Then
            
               Cells(2, 18).Value = iArrSource(iRow, 4)
               Cells(2, 19).Value = iArrSource(iRow, 5)
            End If
       Next
    Next
End Sub
с уважением мастерам VBA/ и заранее спасибо.я месяц как начал изучать VBA.прошу простить огрехи
Вложения
Тип файла: zip Эталон Штурманской Программы.zip (183.7 Кб, 9 просмотров)
0
Заблокирован
19.12.2012, 10:03 6
Если правильно понял вопрос, то как-то так -
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub Worksheet_Calculate()
Dim iFindText$, iText$, iColumn&, iRow&, r&
Dim iSource As Range, iArrSource As Variant
'Set iSource = Range("A2:a300")
iCountText = Application.CountIf(ThisWorkbook.Worksheets("Все необходимые данные").Range("B:B"), "*")
i = iCountText
Set iSource = Range(Cells(2, 1), Cells(i, 5))
iArrSource = iSource.Value
For r = 2 To 21
  iFindText = Cells(r, 44)
  'For iColumn = 1 To iSource.Columns.Count 'UBound(iArrSource, 2)
    For iRow = 1 To iSource.Rows.Count   'UBound(iArrSource)
      iText = CStr(iArrSource(iRow, 1)) 'iColumn))
      If iFindText = iText Then
        Cells(r, 18).Value = iArrSource(iRow, 4)
        Cells(r, 19).Value = iArrSource(iRow, 5)
      End If
    Next
  'Next
Next r
End Sub
1
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 11
19.12.2012, 10:32  [ТС] 7
блин, во класссс!!!!
а я пытался так сделать, но у меня не выходило.
только вопрос, почему вы не задаете диапазон сравнения
Visual Basic
1
Set iSource = Range("A2:a300")
, вернее как получается что нужный нам диапазон он видит
и убираете цикл 'For iColumn = 1 To iSource.Columns.Count
немного не допонял.если можно, напишите.
спасибо вам все просто супер, теперь я могу продолжить дальше!!!!
я и изучаю VBA и сразу на примере своей проги пытаюсь что то сообразить.Можно обращаться .если что?

Добавлено через 6 минут
ааа все я понял, я вчера когда циклы пытался сделать, уже задал ему диапазон,
Visual Basic
1
Set iSource = Range(Cells(2, 1), Cells(i, 5))
а потом исправлял, исправлял, и в итоге сам запутался
а
Visual Basic
1
For iColumn = 1 To iSource.Columns.Count 'UBound(iArrSource, 2)
нам не нужен так как у нас столбцы фиксированные.
Так?
0
Заблокирован
19.12.2012, 10:33 8
Цитата Сообщение от vova_letchik Посмотреть сообщение
почему вы не задаете диапазон сравнения
По контексту я не увидел его использования в следующих двух строках,
а дальше он был переопределен -
Visual Basic
1
Set iSource = Range(Cells(2, 1), Cells(i, 5))
т.е. смысла (как и ошибки) в этом не было.
Цитата Сообщение от vova_letchik Посмотреть сообщение
убираете цикл 'For iColumn = 1 To iSource.Columns.Count
Зачем перебирать все столбцы, если мы ищем только в первом?
1
0 / 0 / 0
Регистрация: 14.12.2012
Сообщений: 11
19.12.2012, 10:38  [ТС] 9
да мне все понятно.спасибо огромное
0
19.12.2012, 10:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2012, 10:38
Помогаю со студенческими работами здесь

Вывод записей в поле со списком в зависимости от другого поля со списком
Уважаемые асы access, помогите пожалуйста! Сразу хочу признаться, я совсем чайник, только...

Фильтрация поля со списком в зависимости от двух других полей со списком
Добрый день, коллеги Появилась потребность сделать форму на Аксесе. Прошерстил весь форум в...

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

Десятичное число, представленное списком десятичных цифр, представить списком двоичных разрядов
Всем доброго времени суток, необходимо в Visual Prolog представить десятичное число в виде списка...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru