2016-08-29 20 views
0

VBAのListObjectから一連のセルをコピーしようとしています。私はセルの行全体を必要としません、私はちょうど現在の行のデータの最初の2つの列からのセルが必要です。私は "For"ステートメントを使用して、テーブル内のすべての行を調べます。以下のコードでは、コードが必要な場所に注釈を付けました。VBA Listobjectsセル範囲

Sub ReportGenerate() 
' 
' Generates invoice for selected firm 
' 
    Dim wkb As Workbook 
    Set wkb = Workbooks.Open("V:\Invoice template.xlsx") 

    Dim crntwb As Workbook 
    Set crntwb = ThisWorkbook 

    Dim invoiceT As Excel.ListObject 
    Set invoiceT = wkb.Worksheets("Sheet1").ListObjects("AppFee") 

    Dim AppT As Excel.ListObject 
    Set AppT = crntwb.Worksheets("App Fee Master List").ListObjects("AppFee") 

    Dim Firm As String 
    Firm = crntwb.Worksheets("App Fee Dashboard").Range("E6").Value 

    wkb.Worksheets("Sheet1").Range("B7").Value = Firm 

    'Start here for code regarding question 
    LastRow = AppT.ListRows.Count 

    For i = 1 To LastRow 
     If AppT.DataBodyRange(i, 5).Value = Firm Then 

     'Code here needs to copy the first two cells in the current row of the AppT ListObject 

     ' invoiceT.ListRows.Add.Range.PasteSpecial xlPasteValues 
     ' Application.CutCopyMode = False 


     End If 

    Next i 


End Sub 
+0

これは、スタックオーバーフローがどのように動作するかではない、私たちはあなたのためのコードを記述していない - を参照してください[ask]と[mcve]。 –

答えて

0

使用

AppT.DataBodyRange(I、1).Resize(、2).Copy