Excel: извлечение столбцов из одной рабочей книги для добавления в другую рабочую книгу - PullRequest
0 голосов
/ 11 июля 2011

У меня такая проблема: У меня есть несколько рабочих книг, использующих один и тот же шаблон с данными: (скажем, они называются «1.xlsx», «2.xlsx» ...) A2: Файл # (например: в "" 1.xlsx "это" File1 ") Поле1 Поле2 Поле3 Поле4 (данные хранятся в D3: G40)

И у меня есть имя файла "Full.xlsx" Файл № Поле1 Поле2

Теперь мне нужно скопировать данные D3: E40 из "1.xlsx", "2.xlsx" ... на лист1 из "Full.xlsx" (Field1, Field2), и их A2 отправляется в Файл #

Например, у меня есть:

1.xlsx:
[A2] File1
[D2]Field1 [E2]Field2 [F2]Field3 [G2]Field4
[D3]aa [E3]bb [F3]cc [G3]dd
[D4]ee [E4]ff [F4]gg [G4]hh
...

2.xlsx:
[A2] File2
Field1 Field2 Field3 Field4
11 22 33 44
55 66 77 88
...

I need to have sheet1 in "Full.xlsx":

[A1]File# [B1]Filed1 [C1]Filed2
[A2]File1 [B2]aa [C2]bb
[A3]File1 [B3]ee [C3]ff
...
[A40]File2 [B40]11 [C40]22
[A41]File2 [B41]55 [C41]66
...

Может кто-нибудь сказать, пожалуйста, как это сделать? (Я использую MS Excel 2010)

Обновление : наконец-то я написал кое-что, что работает (я новичок в VBA, так что это может быть не лучшим решением)

Public Sub copyrows()
Dim FileNum As String
Dim LastRow As Long, i As Long, Counter As Integer
Dim Dest As Workbook
Set Dest = Workbooks("Full.xlsm")

FileNum = Cells(2, 1).Value

Dest.Activate

LastRow = Dest.Worksheets("Sheet1").Range("C65536").End(xlUp).Row + 1
i = LastRow

For Counter = 3 To 40
    Dest.Worksheets("Sheet1").Cells(i, 1).Value = FileNum
    i = i + 1
Next

ThisWorkbook.Activate
ThisWorkbook.Worksheets("Sheet1").Range("D3", "E40").Copy
Dest.Activate
Dest.Worksheets("Sheet1").Range("B" & LastRow, "C" & i).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
End Sub

Спасибо всем за внимание!

1 Ответ

0 голосов
/ 11 июля 2011

Вы можете посмотреть, что здесь происходит, с помощью окна поиска: - Как скопировать столбцы с одного листа на другой с помощью VBA в Excel? - Копирование данных с одного листа на другой с использованием VBA - Excel Copy Worksheet из внешней WorkBook

Кстати, вы можете найти много похожих постов в правом столбце этой текущей страницы.

Тем не менее, если вам нужна помощь, пожалуйста, опубликуйте код, который вы уже создали, чтобы мы могли помочь вам улучшить или отладить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...