2015-05-19 11 views
0
Sub copy() 
    Dim x As Workbook 
    Dim y As Workbook 
    Set x = Workbooks.Open("C:\Users\Saurabh\Desktop\Book2.xls") 
    Set y = Workbooks.Open("C:\Users\Saurabh\Desktop\Book1.xls") 
    x.Sheets("sheet1").Range("G2").Value = x.Sheets("sheet1").Range("A2").Value 
    y.Sheets("sheet1").Range("H2").Value = x.Sheets("sheet1").Range("B2").Value 
End Sub 
+0

Не работает для меня. Его компиляция, но она не показывает никакого значения в другом листе или том же листе –

+0

, так как для меня ваш код работает нормально, может быть, проблема в логике ?. Я вижу, что вы ** копируете '[A2]' в '[G2]' внутри 'X' ** книги, но второе значение перевода строки из' [B2] '' X' в '[H2]' ' Y' workbook – Vasily

+0

yes Мне нужно скопировать столбец внутри данного листа, а также в другую книгу. –

ответ

-1

Я уверен, что вам нужно капитализировать свой «S» в «sheet1», так что это правильно «S heet1». Я считаю, что он чувствителен к регистру.

+0

Спасибо за ваш комментарий. Я попробовал это. Лист1. Но все равно ничего не делает. Код и путь верны. Я попробовал, но пока он не выдал результат. –

0

просто исправить

От

x.Sheets("sheet1").Range("G2").Value = x.Sheets("sheet1").Range("A2").Value 
    y.Sheets("sheet1").Range("H2").Value = x.Sheets("sheet1").Range("B2").Value 

Для

x.Sheets("sheet1").Range("G2").Value = y.Sheets("sheet1").Range("A2").Value 
x.Sheets("sheet1").Range("H2").Value = x.Sheets("sheet1").Range("B2").Value 
+0

Этот метод я не могу использовать, потому что если в этой работе мне нужно добавить цикл for, а затем добавить больше столбца и ограничить столбец, чтобы добавить значение, пока определенное значение не попадет в столбец. –

+0

Но, я могу попробовать и дать вам знать. Спасибо –

+0

Попробуйте, он должен работать – 0m3r

0

Ниже кода копирует клетки мелкие

Sub copy() 
    Dim x As Workbook 
    Dim y As Workbook 
    Set x = Workbooks.Open("C:\Users\user\Desktop\Book2.xlsx") 
    Set y = Workbooks.Open("C:\Users\user\Desktop\Book1.xlsx") 
    x.Sheets("sheet1").Range("G2").Value = y.Sheets("sheet1").Range("A2").Value 
    x.Sheets("sheet1").Range("H2").Value = y.Sheets("sheet1").Range("B2").Value 
End Sub 
+0

, но это тот же код, что и OP, но вы заменили 'x' на' y', почему?) – Vasily

+0

x и y были неправильно упомянуты, и, следовательно, пробелы копировались и, следовательно, OP считал, что сценарий не работает. –

+0

Вы читали комментарии ниже OP сообщения об этом? – Vasily

1

отлично работает в моей машине, попробуйте

Sub copy() 
    Dim x As Workbook 
    Dim y As Workbook 
    Set x = Workbooks.Open("C:\Users\Saurabh\Desktop\Book2.xls") 
    Set y = Workbooks.Open("C:\Users\Saurabh\Desktop\Book1.xls") 
    x.Sheets("sheet1").[A:A].copy x.Sheets("sheet1").[G:G] 'copy column from x [A:A] to x [G:G] 
    x.Sheets("sheet1").[B:B].copy y.Sheets("sheet1").[H:H] 'copy column from x [B:B] to y [H:H] 
End Sub