2017-12-20 17 views
1

1つのブックからデータをコピーしてクローズドブックに保存するコードを作成しようとしています。問題は、データを列から行に移す必要があることです。私はペーストスペシャルを試みましたが、うまくいきませんでした。以下は、私が使用しているコードです。少なくともアクティブなシートから閉じたシートにデータを転送します。VBAデータを転記できません(1つのブックからクローズドブックにコピー)

Sub LessonLearned() 

    Dim destSht As Worksheet 

    Workbooks.Open Filename:="C:\Users\ceasat28\Documents\LessonsLearnedTest\LessonsLearnedLog.xlsx" 
    Set destSht = ActiveWorkbook.Worksheets("DiscoveredLessons") 

    ActiveSheet.Unprotect Password:="Secret" 

    With ThisWorkbook.Worksheets("Sheet1") 

    With .Range(.Range("LL_Data"), .Range("LL_Data").End(xlDown)) 

     destSht.Cells(destSht.Rows.Count, 1).End(xlUp).Offset(1).Resize(.Rows.Count, .Columns.Count).Value = .Value 

    End With 

    destSht.Parent.Close True 
    End With 
End Sub 

値を転記してもらえますか?

おかげで、 タラ問題の

+0

セルごとにループする必要があり、一方のデータを他方のセルに書き込む必要がありますが、列カウンタの行カウンタを入れ替える必要があります。 –

+0

すぐに回避するには...データがシート内で使用された後、ワークシート関数:Range( "A1:E1")= WorksheetFunction.Transpose(Range( "A3:A7")) 'あなたの範囲を知る必要があることに注意してください前後。 –

答えて

3

カップル:あなたが実際にあなたが必要

  • が正しく転置ソース範囲に基づいて、先の範囲をサイズにデータを転置する必要が


    Sub LessonLearned() 
        Dim destWb As Workbook 
        Dim destSht As Worksheet 
        Dim Data As Variant 
    
        Set destWb = Workbooks.Open(Filename:="C:\Users\ceasat28\Documents\LessonsLearnedTest\LessonsLearnedLog.xlsx") 
        Set destSht = destWb.Worksheets("DiscoveredLessons") 
    
        destSht.Unprotect Password:="Secret" 
    
        With ThisWorkbook.Worksheets("Sheet1") 
         With .Range(.Range("LL_Data"), .Range("LL_Data").End(xlDown)) 
          Data = Application.Transpose(.Value) 
          destSht.Cells(destSht.Rows.Count, 1).End(xlUp).Offset(1).Resize(.Columns.Count, .Rows.Count).Value = Data 
         End With 
         destSht.Parent.Close True 
        End With 
    End Sub 
    
  • +0

    それは驚くほどうまくいった。そんなにありがとう、私は1週間これを試してきました! – Tara

    関連する問題