Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20

Макросы

01.08.2017, 18:50. Показов 823. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, раньше не доводилось пользоваться языком VBA, пролистав несколько методичек понял что без помощи не справлюсь сам. Если кто сможет помочь - буду очень благодарен.
1) Самое главное мне нужно скопировать данные из одной таблицы Excel1 (а именно столбец D) и вставить в другую таблицу Excel2 (столбец D).
2) Скопировать данные из столбца С таблицы Excel1 и вставить их в таблицу Excel2 тоже столбец С, но при этом нужно "обрезать" данные, т.е. вместо 1а1 или 2b2 нужно скопировать и вставить 1а или 2b без дополнительных цифр.
3) При этом в таблице Excel2 выводятся данные о конкретном объекте, только об объекте а.

Таблица Excel1
Visual Basic
1
2
3
4
5
6
7
1   a   1a1 yes
2   b   2b2 no
3   c   3c3 yes
4   d   4d4 no
5   f   5f5 yes
6   a   6a6 no
7   a   7a7 yes
Таблица Excel2
Visual Basic
1
2
3
1   a   ?   ?
6   a   ?   ?
7   a   ?   ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.08.2017, 18:50
Ответы с готовыми решениями:

При загрузке программы макросы не отключаются - но макросы не срабатывают.
уровень безопасности - средний, при загрузке программы макросы не отключаются - но макросы не срабатывают в чем может быть причина?

Макросы
Добрый вечер! Подскажите пожалуйста где у меня ошибка? Значит дано два файла. Связаны между собой. В файле Excel_lab_3 на листе Данные...

VBA макросы, for to do
Здравствуйте! Дали доп задание по VBA. Помогите, пожалуйста. Необходимо данный код, который выводит окно для ввода x в ячейки excel, -...

14
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.08.2017, 19:30
1) и 2) - включаете запись макроса, проделываете работу вручную, выключаете запись - макрос готов.
По п.1) - делаете как написали, по п.2) - используйте формулу обрезки текста справа ,затем спецкопипастом заменяете её/их на результат.
0
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20
01.08.2017, 20:53  [ТС]
Хотелось бы поподробнее узнать, особенно про так как из одной таблицы при помощи макроса можно данные в другую перетащить, как будет выглядеть этот код
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.08.2017, 20:56
Запишите - увидите.
Или вообще не умеете копировать ячейки? Тогда подсказка: Ctrl+C, Ctrl+V
0
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20
01.08.2017, 21:03  [ТС]
Hugo121, какой Ctrl+C, Ctrl+V нафиг? Я не понимаю как мне данные со второй таблицей объединить
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.08.2017, 21:08
1) Самое главное мне нужно скопировать данные из одной таблицы Excel1 (а именно столбец D) и вставить в другую таблицу Excel2 (столбец D).
- это кто писал?
0
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20
01.08.2017, 21:11  [ТС]
Hugo121, вставить в другую таблицу - это значит не руками брать каждую ячейку и вставлять, т.к. их не 10, не 100 и даже не 1000, а мне нужна либо функция вставки либо оператор который позволяет подключать вторую таблицу чтобы в нее эти данные вставить.
0
01.08.2017, 21:14

Не по теме:

:popcorn:

0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.08.2017, 21:16
Цитата Сообщение от Salut2017 Посмотреть сообщение
функция вставки
- это Ctrl+V

Добавлено через 2 минуты

Не по теме:

SoftIce, я пиво с чипсами сейчас употребляю :)

0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
01.08.2017, 22:37
Мой вариант
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Макрос()
    Dim r, k As Integer, s As String, st As String, v As Integer
    For Each r In ThisWorkbook.Sheets(1).Range("B1:B" & ThisWorkbook.Sheets(1).Cells(Rows.Count, "B").End(xlUp).Row)
       If r = "a" Then 'ищем строки с "a" в столбце "B" первого листа
          s = Trim$(ThisWorkbook.Sheets(1).Cells(r.Row, 3).Value) 'запись в столбце "C" первого листа
          If s Like "[0-9]*[aA-zZ]*[0-9]" Then '  тут нужно уточнить формат записи, Вам лучше знать
             v = Val(s) 'число в начале записи
             st = ""
             For i = Len(CStr(v)) + 1 To Len(s) 'ищем буквы (латиница)
                If Mid(s, i, 1) Like "[aA-zZ]" Then st = st & Mid(s, i, 1) Else Exit For
             Next i
             k = k + 1
             ThisWorkbook.Sheets(2).Cells(k, 3) = v & st 'В столбец "C" второго листа выводим первое число и найденные буквы
          End If
       End If
    Next r
End Sub
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
01.08.2017, 23:55
т.к. их не 10, не 100 и даже не 1000
лучше считать в массив и обработать его

Добавлено через 1 минуту
или просто включить сначала фильтр
0
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20
02.08.2017, 15:12  [ТС]
SoftIce, спасибо сегодня попробую! Только мне нужно записывать данные в другую книгу, а не страницу, отпишу что получится

Добавлено через 7 часов 48 минут
SoftIce, честно говоря не получилось, даже не на второй лист не скопировались данные. Я так понимаю мне нужно воспользоваться конструкцией ChDir "путь к папке где лежит файл в который корировать данные" и Workbooks.Open Filename:= "название файла в который вставить данные"
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
02.08.2017, 15:49
Цитата Сообщение от Salut2017 Посмотреть сообщение
Я так понимаю мне нужно воспользоваться конструкцией ChDir "путь к папке где лежит файл в который корировать данные" и Workbooks.Open Filename:= "название файла в который вставить данные"
Макрос должен находиться в файле, и оттуда же запускаться. Данные берутся с первого листа и вставляются на второй.
0
0 / 0 / 0
Регистрация: 01.08.2017
Сообщений: 20
03.08.2017, 07:14  [ТС]
SoftIce, а что нужно подправить в вашем коде чтобы сделать поиск по кириллице, а не латинице?

Добавлено через 14 часов 47 минут
Мне нужно данные скопировать в другую книгу, а не на другую страницу этой же книги, 2я таблица это отдельная книга
0
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
03.08.2017, 08:33
Цитата Сообщение от Salut2017 Посмотреть сообщение
2я таблица это отдельная книга
Оч хорошо. А почему сразу, в первом сообщении, нельзя было это сказать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.08.2017, 08:33
Помогаю со студенческими работами здесь

Непонимаю макросы
Microsoft Word Значит сделал макрос с назначениями клавиш.Вот сижу думаю что вроде все ок.А вот нет.Я много пишу и у меня для каждой...

Макросы в Excel
Ребята, добрый вечер! Прошу Вас помочь настроить Excel-документ. На данный момент две сложности: 1. На вкладке Input sheet...

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

Формы, макросы
Доброго времени суток! Ув.знатоки помогите решить очередную задачу..... задача изложена в файле... Спасибо Перепечатывайте...

Макросы Word (VB)
Помогите пожалуйста с заданием. Создать в Word макрос, удаляющий несколько подряд идущих пробелов по следующему алгоритму: пять идущих...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru