Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8

Считать два столбца из Excel

31.03.2013, 13:39. Показов 1964. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
Возникли трудности с чтением из файла .xls двух столбцов (значений довольно много - более 9000).
Нужно считать значения в этих столбцах и вывести их на форму.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
   Dim z As String
        Dim r As String
        Dim d As Double
        r = ""
        z = ""
        d = 0
        appExcel = CreateObject("Excel.Application")
        appExcel.Workbooks.Open("d:\basa.xls")
        appExcel.Visible = False
        For i = 3 To 9954
            With appExcel.ActiveSheet
                r = "C" + CStr(i)
                d = .Range(r).Value
                z = z + CStr(d) & vbCrLf
 
            End With
        Next
        RichTextBox1.Text = z
        appExcel.Workbooks(1).Close(True)
        appExcel.Quit()
Подобное мало подходит и вывод неочень удобен.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.03.2013, 13:39
Ответы с готовыми решениями:

Считать два столбца из Excel-файла, каждый в свой массив
Здравствуйте,нужно считать 2 столбца из exel файла,каждый в свой масив, как это сделать? Если можно-дайте пожалуйста пример

Как сравнить два столбца в Excel
Добрый день! Есть 2 столбца с данными, в первом столбце данных больше , чем во втором.Необходимо узнать, какие данные во втором столбце...

Сравниваем два столбца MS Office Excel
Здравствуйте. Помогите сравнить два столбца и выделить повторяющиеся значения цветом. Простые формулы типа А=В или фильтр - повторяющиеся...

17
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
31.03.2013, 17:35
Может, в двухколоночный листбокс вывести?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.03.2013, 22:33
Кажется двухколоночный там ни к чему!
Считать в массив было бы быстрее
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
01.04.2013, 12:50  [ТС]
Дело не совсем том куда, скорее как быстро и точно, т.к. в первом столбце строковая инфа около 100 символов, плюс надо еще два столбца добавить, основываясь на информации из двух других.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
01.04.2013, 13:14
Лучший ответ Сообщение было отмечено как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Command1_Click()
Dim arr, i As Long, j As Long
    arr = GetObject("d:\basa.xls").worksheets(1).Range("C3", "C9954").Value '.usedrange.Value
    'Всё - диапазон в массиве
    
    For i = LBound(arr, 1) To UBound(arr, 1)
         For j = LBound(arr, 2) To UBound(arr, 2)
              Print arr(i, j)
         Next j
    Next i
End Sub
3
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
03.04.2013, 00:10
Или лыжи не едут или...
Visual Basic
1
Range("C3", "C9954")
Ну один же столбец! Зачем цикл в цикле то!?
Достаточно 1 цикла!:
Visual Basic
1
2
3
    For i = LBound(arr) To UBound(arr)
              Debug.Print arr(i, 1)
    Next i
Добавлено через 2 минуты
А вот за считывание массива не открывая файла! +
0
Заблокирован
03.04.2013, 07:17
Цитата Сообщение от Alex77755 Посмотреть сообщение
не открывая файла!
Файл все равно открывает. Только это уже не происходит наглядно.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
03.04.2013, 22:13
Цитата Сообщение от inv.DS Посмотреть сообщение
Файл все равно открывает
Но не запускается махина Екселя!
Я это имел в виду.
Считывание происходит быстро
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
04.06.2013, 13:50  [ТС]
Или я дурак или что, но предложенные вариант не работает - выдает ошибку "Неверное имя файла или номер файла." И мне не совсем понятно, куда же собственно должен происходить print.
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2013, 14:21
Цитата Сообщение от Doggy1802 Посмотреть сообщение
Неверное имя файла
Проверьте имя файла


Цитата Сообщение от Doggy1802 Посмотреть сообщение
куда же собственно должен происходить print
В данном случае - на форму.
Вы же сами писали
Цитата Сообщение от Doggy1802 Посмотреть сообщение
Нужно считать значения в этих столбцах и вывести их на форму
Но можно вывести куда угодно. Диапазон уже в массиве.
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
04.06.2013, 14:25  [ТС]
Проверял!) Ругается вот на это
Цитата Сообщение от SoftIce Посмотреть сообщение
Print(arr(i, j))
плюс пишет, что arr не может быть типа long
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2013, 14:28
на VBA пишите?
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
04.06.2013, 14:32  [ТС]
На vb. Visual studio 2008)
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2013, 14:35
Там нельзя принтить на форму.

Long замените на Integer и выводите куда-нибудь в листбокс или текстбокс с прокруткой
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
04.06.2013, 14:41  [ТС]
На integer ругается, а тип array в ричтекстбокс не выводится
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2013, 14:52
Вы изначально задали вопрос не в том разделе
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 8
04.06.2013, 15:29  [ТС]
а в какой же раздел стоило?
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
04.06.2013, 15:32
Вот здесь
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.06.2013, 15:32
Помогаю со студенческими работами здесь

Необходимо сопоставить два столбца excel
Доброго времени суток уважаемые форумчане! Прошу вашей помощи. С 1 задачей справились , теперь часть два Имеем вот такой...

Excel. Очень нуждаюсь в совете по логике+не знаю как считать в массив из столбца по заданным критериям
Всем доброго времени суток! Скажу сразу, работаю только с Microsoft.Office.Interop.Excel; Альтернативы просьба не советовать, c выбранным...

В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца
В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца: в матрице А - столбцы 2 и 4, в матрице В...

Вывод результатов из одной таблицы и одного столбца в два разных столбца
Ребят помогите, измучалась совсем, не знаю как решить. Есть таблица Таблица t2 Id Pid Pr Text 1 1 0 'sub text1 1' ...

Вставить в матрицу два столбца из единиц: один после К1-го столбца, второй - перед К1-ым
дан двумерный массив, вставить в него два столбца из чисел 1: один после К1-го столбца. второй-перед К1-м столбом.


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru