1つのシート(行)からセルをコピーし、別のシートの行に貼り付けようとしています(基本的に転置します)。私はコードを書いたが、ペーストセルとpastespecialコマンドを回避することはできませんでした。コピーされたセルの長さは行ごとに異なるので、動的に選択して同じ方法で貼り付けるにはどうすればよいですか?現時点では、特定の長さを貼り付け、最後に空の行を削除することを考えています。以下のコードをご覧ください。誰かが私にインプットやアイデアを与えることができれば素晴らしいだろう。ありがとう!!ExcelでVBAを使用してループ内のセルを移動する
Sub Data_Sort_Test()
Dim i As Long, j As Long, k As Long, lastrow1 As Long, lastrow2 As Long
Dim rng As Range, row As Range, rowd1 As Range, cell As Range
Dim bidtype As String
k = 1
lastrow1 = Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).row
For i = 1 To lastrow1
bidtype = Sheets("Sheet2").Cells(i, "A").Value
Sheets("Sheet1").Activate
lastrow2 = Sheets("Sheet1").Range("B" & Rows.Count).End(xlUp).row
For j = 1 To lastrow2
If Sheets("Sheet1").Cells(j, "B").Value = bidtype Then
Sheets("Sheet2").Activate
Sheets("Sheet2").Range(Cells(i, "B"), Cells(i, "K")).Copy
Sheets("Sheet3").Activate
Sheets("Sheet3").Range(Cells(j, "C"), Cells(j, "L")).Select
ActiveSheet.Paste 'Special Transpose:=True
'k = k + 1
End If
Next j
Application.CutCopyMode = False
Next i
End Sub
「ペーストセルとpastespecialコマンドを回避できなかった」とはどういう意味ですか?エラーが発生しましたか?そうだったら何ですか?期待通りに行動しなかったのですか?そうなら何が起こったのですか? – CHill60
トランスポーズしようとしている場合は、水平から垂直に反転します。水平範囲を水平範囲に貼り付けようとしているのはなぜですか? –
@ CHill60私はそれを転置するコードを書くことができなかったことを意味しました。私は1004ランタイムエラーが発生します。 – adr0327