2017-08-18 5 views
0

私はエクセルで自分のサイドタスクを行う方法を探しています。 状況:私はいくつかのデータが静的であるB. にから特定のデータをコピーする必要がある2つのworkbooks- AとB. は持っている - 場合にはOKですが、私はそれをコピーするために、このコードを使用 -ワークブック間のVBAコピーライン

Sub Button399_Click() 
    Dim sutartis As String 
    Dim projektoID As String 
    Dim projektas As String 
    Dim Aktas As Workbook 

    Worksheets("Aktas").Select 
    sutartis = Range("K4") 
    projektoID = Range("K5") 
    projektas = Range("E12") 
    Set myData = Workbooks.Open("*****") 
    Worksheets("Archyve").Select 
    Worksheets("Archyve").Range("A1").Select 
    RowCount = Worksheets("Archyve").Range("A1").CurrentRegion.Rows.Count 

    With Worksheets("Archyve").Range("A1") 
     .Offset(RowCount, 0) = sutartis 
     .Offset(RowCount, 1) = projektoID 
     .Offset(RowCount, 2) = projektas 
    End With 

    myData.Save 
End Sub 

次に、各行からデータをコピーし、すべての行に静的なBブックに追加する必要があります。結果は check the list

、それは次のようになります。 result

すべての提案やアイデアを待っています!

ベスト

+0

あなたのコードに問題を引き起こす可能性がいくつかあります。あなたのコードでどのような問題が発生しているのか、どのラインで問題が発生しているのかを具体的に把握できますか? – Zac

+0

@ Zac、このコードでは、すべてがうまくいきます - 他のワークブック変数 "sutartis、projektiID、projektas"が正常にコピーしています。 今、私は "リストをチェック"からデータをコピーし、次に私の変数に貼り付けるためにコードフラグメントを追加する必要があります。 解決方法が見つかりませんでした。 – Kovinis

答えて

0

次の関数は、クローズドブックからデータを取得します。 クレジットhttp://erlandsendata.no/?p=2106

Private Function GetInfoFromClosedFile(ByVal wbPath As String, wbName As String, wsName As String, cellRef As String) As Variant 
    Dim arg As String 
    GetInfoFromClosedFile = vbNullString 
    If Right(wbPath, 1) <> "\" Then wbPath = wbPath & "\" 
    If Dir(wbPath & wbName) = vbNullString Then Exit Function 
    arg = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & Range(cellRef).Address(True, True, xlR1C1) 
    'On Error Resume Next 
    GetInfoFromClosedFile = ExecuteExcel4Macro(arg) 
End Function 
関連する問題