###前提・実現したいこと
excelにてアンケート集計表を作成しています。
入力シートの各行の回答群を違うシートにコピーするVBAを書いていますがうまくいきません。
全シートはアンケート入力シートと各チーム(A~E)の振り分け後のシートと集計シートです。
各チームのシートの最終行にデータを入れ込むよう考えてます。
入力はランダムで書かれるのですが、別にそのシートでソートしてコピーが手っ取り早いとは思いますが
勉強であえて作っています。
3行目でのrangeでfor文のIを使って行をずらしつつ、コピー先を変えたいです。
今はコピーする行が固定なので、できそうなんですがfor文を入れるとどうしたらいいのかわかりません。
###発生している問題・エラーメッセージ
自分の望む動作ができない
###該当のソースコード
VBA
Sub copy() Dim i, n As Integer For i = 3 To 13 If Worksheets("入力").Cells(i, 3).Value = "1.Aチーム" Then n = Worksheets("").Cells(Rows.Count, "A").End(xlUp).Row + 1 Worksheets("入力").Range("d3:ag3").copy Destination:=Worksheets("Aチーム").Range("A" & n) ElseIf Worksheets("入力").Cells(i, 3).Value = "2.Bチーム" Then n = Worksheets("Bチーム").Cells(Rows.Count, "A").End(xlUp).Row + 1 Worksheets("入力").Range("D3:ag3").copy Destination:=Worksheets("Bチーム").Range("A" & n) ElseIf Worksheets("入力").Cells(i, 3).Value = "3.Cチーム" Then n = Worksheets("Cチーム").Cells(Rows.Count, "A").End(xlUp).Row + 1 Worksheets("入力").Range("D3:ag3").copy Destination:=Worksheets("Cチーム").Range("A" & n) ElseIf Worksheets("入力").Cells(i, 3).Value = "4.Dチーム" Then n = Worksheets("Dチーム").Cells(Rows.Count, "A").End(xlUp).Row + 1 Worksheets("入力").Range("D3:ag3").copy Destination:=Worksheets("Dチーム").Range("A" & n) ElseIf Worksheets("入力").Cells(i, 3).Value = "5.Eチーム" Then n = Worksheets("Eチーム").Cells(Rows.Count, "A").End(xlUp).Row + 1 Worksheets("入力").Range("D3:ag3").copy Destination:=Worksheets("Eチーム").Range("A" & n) End If Next i End Sub
###試したこと
rowやcells("d"&i:"AG"&i)等試しましたが、コンパイルエラーが出ます。
###補足情報(言語/FW/ツール等のバージョンなど)
office365
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/07 10:34
2016/11/07 11:03
2016/11/07 12:30
2016/11/07 13:27
2016/11/08 00:57
2016/11/08 01:24 編集
2016/11/08 10:26
2016/11/09 00:51
2016/11/09 10:09
2016/11/09 10:26
2016/11/10 11:13