Я довольно новичок в vba. Мне удалось заставить некоторые коды работать, копируя с этого сайта и редактируя их в мою цель, но это слишком сложно взломать (попытались решить это на пару дней).Скопируйте и вставьте из одной ячейки в другую книгу и ячейку
Я хочу скопировать данные из одного файла и вставить его в другой файл (мастер-файл). Однако он не может перезаписать существующие данные, поэтому он должен выбрать первую пустую ячейку в определенном столбце. Пожалуйста помогите!! Если возможно, вы могли бы добавить как можно больше комментариев, чтобы я мог понять и научиться делать это для себя в будущем.
Файлы данных являются журналами вызовов, и эти цифры, которые копируются, являются результатами анализа, который я выполняю в vba. Таким образом, каждый день будет новый файл данных, но фактические данные, которые я копирую, всегда находятся в одних и тех же ячейках. С другой стороны, главный файл всегда один и тот же, но диапазон, в который я вставляю данные, изменяется.
файлПример данных: ("S1" в файле данных Excel) ("S2" в файле данных Exel) 8.6.2013 ("S13" в файле данных Excel) Все они созданы с помощью кода vba, который включает формулы, поэтому они всегда будут в одной и той же ячейке. Есть и другие ячейки данных, но я надеюсь учиться на этом, чтобы я мог включить их сам.
Главный файл, с другой стороны, всегда одинаковый. Единственное, что меняется в главном файле, это ячейка, в которую я вставляю данные. Ячейка практически всегда находится рядом с предыдущей вставкой.
Главный файл: Сотовый S1 из файла данных должен быть скопирован в главный файл «N3», затем в следующий раз «N4», а затем на «N5» и т. Д. ... поэтому он должен найти первый бесплатный ячейка в столбце N.
Сотовый S2 из файла данных должен быть скопирован в главный файл «H3» и оттуда вниз таким же образом, как и предыдущий.
Сотовый S13 из файла данных следует скопировать в главный файл «A3» и вниз таким же образом, как и предыдущий.
Edit:
Это то, что работает в мастер-файл, чтобы восстановить весь столбец B, но он переписывает весь столбец. Следовательно, он хорошо работает, чтобы импортировать часы работы из одного файла, что всегда одно и то же. Затем снова для файла данных анализа проблема заключается в том, что приведенный выше код работает из главного файла, и в этом случае, когда файл данных на самом деле меняется каждый день, я понятия не имею, как изменить его так, чтобы он искал правильный файл.
Sub Work_hours()
' copy_paste1 Macro
Dim wsMaster As Worksheet, wbDATA As Workbook
Dim NextRow As Long, LastRow As Long
Set wsMaster = ThisWorkbook.Sheets("Sheet1")
NextRow = wsMaster.Range("A" & Rows.Count).End(xlUp).Row + 1
Set wbDATA = Workbooks.Open("\\C:\users\heppanetti\Google Drive\heppanetti\outbound\working_hours.xlsx")
With wbDATA.Sheets("Sheet1")
Columns("B:B").Select
Selection.Copy
Windows("ColdCalling_Stats_template.xlsx").Activate
Columns("B:B").Select
ActiveSheet.Paste
wbDATA.Close False
End With
End Sub
Я думаю, что это [ссылка] (http://stackoverflow.com/a/12498033/1635051) поможет вам найти первую пустую строку , Но для того, чтобы лучше понять, вы всегда можете использовать инструмент «record macro» в Excel и делать то, что хотите, программно, после этого вы можете просто остановить его и проверить сгенерированный макрокод, это действительно поможет вам узнать структура автоматизации excel. –
Спасибо! Я действительно пытался записывать макросы целый день, но проблема в том, что на самом деле найти пустую ячейку из главного файла.Я также могу написать код, который копирует правую ячейку, но по какой-то причине он не вставляет его нигде ... и даже не сообщает о каких-либо ошибках или тому подобных. –
Вы проверили ссылку, я сказал? Это поможет вам найти первую пустую ячейку. Я не знаю, как скопировать и вставить значение, вы можете получить значение ячейки и записать ее в предпочтительной ячейке самостоятельно. –