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

Копирование данных из одной ячейки в другую

25.10.2011, 21:51. Показов 17216. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер. С данным заданием, как и с Visual Basic сталкиваюсь впервые, но мне очень важно решить это задание. Помогите, пжлста!
Заранее спасибо
Программу надо написать на Visual Basic в excel.
Напишите программу, которая выполняет следующие действия. Программу написать в двух вариантах: с оператороми циклов for и do.
В ячейках А1:В10 находится 20 чисел. Составить программу, которая копирует данные числа в колонну С(ячейки с С1 до С20) следующим образом:
-числа из ячейки А1 надо скопировать в ячейку С1;
-числа из ячейки B1 надо скопировать в ячейку С2;
-числа из ячейки А2 надо скопировать в ячейку С3;
-числа из ячейки B2 надо скопировать в ячейку С4;
-числа из ячейки А3 надо скопировать в ячейку С5;
И так далее (числа из колонны А надо скопировать в ряды, с нечетными номерами колонны С, а числа из колонны В, надо скопировать в ряды с четными номерами колонны С).
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.10.2011, 21:51
Ответы с готовыми решениями:

Копирование данных с одной ячейки в другую
Задача такова: Ячейка: Cells(21, 21) имеет формулу, формула получает значение, необходимо...

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

Копирование значения из одной ячейки в другую с отступом вниз по нажатию кнопки
Приветствую! в VBA не силен поэтому прошу помощи форумчан, есть задача, что бы в табличке EXCEL при...

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

18
Заблокирован
25.10.2011, 22:01 2
С циклом For
Visual Basic
1
2
3
For i = 1 To Range("A1:B10").Count
  Cells(i, 3) = Range("A1:B10")(i)
Next i
0
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
25.10.2011, 22:08  [ТС] 3
а это только часть кода? просто я в вижуал не разбираюсь, я учу си, паскаль. Для этого кода надо еще основную программку писать? если да, киньте, пжлста линк какой-нить как это все должно выглядить, спасибо!
0
Заблокирован
25.10.2011, 22:18 4
Эту процедуру вставляешь в модуль листа или в общий модуль.
Visual Basic
1
2
3
4
5
6
Sub Макрос1()
Dim I As Long
For I = 1 To Range("A1:B10").Count
  Cells(I, 3) = Range("A1:B10")(I)
Next I
End Sub
Запускаем по [Alt+F8].
1
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
25.10.2011, 22:25  [ТС] 5
Апострофф, спасибо
0
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
25.10.2011, 22:34 6
Объясните пожалуйста как работает алгоритм)
0
Заблокирован
25.10.2011, 22:46 7
Цитата Сообщение от FRANZEE Посмотреть сообщение
Объясните пожалуйста как работает алгоритм)
Visual Basic
1
2
3
4
5
For I = 1 To Range("A1:B10").Count 'перебираем все ячейки указанного диапазона
  Cells(I, 3) = Range("A1:B10")(I) ' _
  Cells(I, 3) - ячейка в i-ой строке 3-го столбца активного листа. _
  Range("A1:B10")(I) - если в диапазоне указана одна координата, счет идет слева направо, затем сверху вниз.
Next I
0
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
25.10.2011, 23:19  [ТС] 8
А что значит Dim?

Добавлено через 32 минуты
c do циклом может выглядеть как-то так?:

Visual Basic
1
2
3
4
5
6
7
Sub macros2( ) 
Dim I As Long
i=1
Do while i<Range("A1:B10").Count
Cells(I, 3) = Range("A1:B10")(I)
Next I
End Sub
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
25.10.2011, 23:29 9
Цитата Сообщение от letnjaja Посмотреть сообщение
А что значит Dim?
Ставим курсор в это слово, жмем F1.
Если с аглицким туго, спросите у Яндекса vba dim. Проделайте то же с Do.
0
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
26.10.2011, 19:31  [ТС] 10
Visual Basic
1
2
3
4
5
6
7
8
Sub macros2( ) 
Dim I As Long
i=1
Do while i<Range("A1:B10").Count
Cells(I, 3) = Range("A1:B10")(I)
Next I
Loop
End Sub
полистала нет, добавила loop,скажите, что не так?
0
1592 / 559 / 74
Регистрация: 10.04.2009
Сообщений: 9,106
26.10.2011, 20:16 11
6 строку пробуем в мусорку
0
Заблокирован
26.10.2011, 20:23 12
Visual Basic
1
2
3
4
5
i=1
Do while i<=Range("A1:B10").Count 'а не < 
Cells(I, 3) = Range("A1:B10")(I)
i=i+1'а не Next I
Loop
0
53 / 3 / 0
Регистрация: 08.10.2011
Сообщений: 200
26.10.2011, 20:35  [ТС] 13
спасибо огромное!
0
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
27.10.2011, 22:12 14
Visual Basic
1
Cells(I, 3) = Range("A1:B10")(I)
почему после Range("A1:B10") мы пишем (I) ?
0
Заблокирован
27.10.2011, 22:16 15
Потому что обращаемся к I-ой ячейке указанного диапазона.
1
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
27.10.2011, 23:54 16
Цитата Сообщение от Апострофф Посмотреть сообщение
Потому что обращаемся к I-ой ячейке указанного диапазона
В первом приближении - да. На самом деле, выражение Range("A1:B10")(I) означает Range("A1:B10").Cells(I), а если совсем подробно, то Range("A1:B10").Cells.Item(I)
Метод Cells может приподнести сюрприз Запустите этот код на чистом листе:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub TestRangeIndex()
Dim i&, r As Range
Set r = [E7:G11]
r.Interior.ColorIndex = 6
MsgBox "Нумеруем ячейки диапазона " & r.Address(0, 0)
For i = 1 To r.Count
    r(i) = i
Next
If MsgBox("Готовы пойти дальше?", vbYesNo) <> vbYes Then Exit Sub
For i = i To r.Count * 2
    r(i) = i
Next
If MsgBox("Постарайтесь угадать, где находятся ячейки с ОТРИЦАТЕЛЬНЫМИ номерами." & vbLf & _
    "Продолжить?", vbYesNo) <> vbYes Then Exit Sub
For i = -r.Count To 0
    r(i) = i
Next
MsgBox "Ну как, угадали? ;)"
End Sub
0
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
28.10.2011, 00:01 17
Вроде ошибка где-то?
Миниатюры
Копирование данных из одной ячейки в другую  
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
28.10.2011, 00:12 18
Это не ошибка, это сюрприз
0
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 44
28.10.2011, 13:08 19
Так в чем сюрприз, объясните пожалуйста)))!
0
28.10.2011, 13:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2011, 13:08
Помогаю со студенческими работами здесь

Копирование данных из одной книги в другую
Добрый день, форумчане! Продолжаю писать свой макрос и опять не получается некоторая операция. ...

Копирование данных с одной книги в другую
Здравствуйте. Помогите пожалуйста с задачей, а именно: ко мне приходит файл с данными книга Б,...

Копирование данных из одной UserForm в другую
И еще один вопросик... мне нужно заполненную UserForm вырвать из книги и переслать по почте,...

Копирование данных из одной книги в другую
Всем привет! Мне нужно скопировать данные из 4 таблиц из одной книги в одну общую таблицу в...


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

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