エクセルで、異なるブックからデータを取得し、行と列を入れ替えて並べ替えるVBAを書いております。
まずはfor文を構築する前に1列だけ実行しようと考え、下記のコードを書きましたがエラー402が16行目で発生しました。
セルの値を取得するためにrange("H5:AI5")とすると上手くいくのですが、for文で書くことを考え
Range(Cells(5, 8), Cells(5, 22))とcellsを使用すると上手くいきませんでした。
(後に"5"の場所をiにすればfor文ができると考えていました。)
VBA
1Sub 穴径測定結果抽出応用15() 2 3Dim Wb1, Wb2 4 Set Wb1 = ThisWorkbook 'このブック 5 Set Wb2 = Workbooks("測定結果.xlsx") '元のエクセル名を記入 6Dim LastRow As Long '最後の行 7Dim LastClm As Long '最後の列 8Dim i As Long 9Dim j As Long 10 11 '最終行、最終列を取得 12 LastRow = Wb2.Worksheets("測定結果元データ").Cells(Rows.Count, 8).End(xlUp).Row 'シート名を記入 13 LastClm = Wb2.Worksheets("測定結果元データ").Range("A1").End(xlToRight).Column 'シート名を記入 14 15 'セルの値を取得する 16 Wb2.Worksheets("測定結果元データ").Range(Cells(5, 8), Cells(5, 22)).Copy '**エラーがでる行** 17 Wb1.Worksheets("Sheet1").Cells(22, 2).PasteSpecial Paste:=xlPasteValues, Transpose:=True 'シート名を記入 18 19 20End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/26 04:29