私は私の問題の答えを見つけるためにインターネットを見回しました。 Excelのシート1からシート2にデータをコピーする必要がありますが、行は列に変換する必要があります。VBAを使用してシート1からシート2にデータを回す
sheet1では、タイトル、スコープ、および期限が列Aに、列Bにはこれらの見出しに提供されています。 シート2では、CommandButtonをクリックして、それぞれA1、B1、C1のタイトル、スコープ、デッドライン、およびこれらの見出しの下のデータを表示します。これを行うと、コードはsheet2のタイトルをリストするときにsheet1のすべての4行目を選択する必要があります。
少し試してみましたが、できません。私の考えは、何らかのループを使用することです。
Private sub CommandButton1_Click()
shSource=WorkSheets("Sheet1")
shDest=WorkSheets("Sheet2")
LastRow = shSource.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To LastRow
Range("A1").Offset(4, 0).Select
Selection.Copy
shDest.Select
shDest.Range("A1").Select
If shDest.Range("A1").Offset(1, 0) <> "" Then
shDest.Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Paste
Next i
End Sub
は、私は本当にあなたのいくつかは私を助けることができると思います。 おかげで、 ミシェル
使用PasteSpecialトランスポーズこの参照してください貼り付けながら - > http://stackoverflow.com/questions/8852717/excel-vba-range-copy-transpose-paste – newguy
ようこそのしてくださいあなたのSheet1とSheet2の例を貼り付けることができます。私は、「4行目ごと」の部分についてちょっと混乱しています。 @Newguyが '.PasteSpecial Transpose:= True'を使って列を行に貼り付けることができます。 –
私は自分のシートのスクリーンショットに投稿しました – Michelle