0

私の目標は、ワークブック 2 からワークブック 1 にセル値を転送することです。これが状況設定です。ワークブック 2 のセル O4 から列の最後 (少なくとも 138 行を含む) のセル値をセル D147 からワークブック 1 の Dxxx に転送したいと思います。

これは私のVBAコードがどのように見えるかです。私の問題は、VBAが6行目までプログラムに何をするように伝えようとしているのか理解できないことです.

Private Sub CommandButton2_Click()
Dim wb1 As Workbook
Dim wb2 As Workbook
Set wb1 = ActiveWorkbook
Set wb2 = Workbooks.Open("C:\Users\zyu\Documents\Processed Data\Allagash\16 cells\Copy of TXM10421_24M_capacity_102113.xls")

wb1.Sheets("sheet1").Range("D147", Range("D147").End(xlToLeft)).value = wb2.Sheet("16").Range("O4").value

End Sub
4

1 に答える 1

0

@siddharth rout D147のO4、D148のO5、D149のO6などの値が必要です

これはあなたがしようとしていることですか(未テスト)?

Option Explicit

Sub copyrow2()
    Dim wb1 As Workbook, wb2 As Workbook
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim lastRow  As Long

    Set wb1 = ThisWorkbook
    Set ws1 = wb1.Sheets("sheet1")

    Set wb2 = Workbooks.Open("C:\Users\zyu\Documents\Processed Data\16 cells\Copy of TXM10421_24M_capacity_102113.xls")
    Set ws2 = wb2.Sheets("16")

    With ws1
        lastRow = ws2.Range("O" & ws2.Rows.Count).End(xlUp).Row

        .Range("D147").Resize(lastRow, 1).Value = ws2.Range("O4:O" & lastRow).Value
    End With
End Sub
于 2013-10-22T19:50:41.187 に答える