- ベストアンサー
縦に並んだシートのセルデーターを他のシートに1行間隔で転記する
よろしくお願いします。 シート【あ】のデーターを、シート【い】のようにしたいのですが 方法を、教えてください。 シートあ A B C D 1 55 2 66 3 77 4 5 ↓ ↓ シート【い】 A B C D 1 55 2 3 66 4 5 77 Private Sub CommandButton2_Click() Range("C1:C124").ClearContents For i = 1 To 124 Step 2 For j = 1 To 124 Cells(i, "C").Value = Cells(i, "B").Value Next Next End Sub と、してみたのですが、だめでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート【あ】のデータを、シート【い】に一行おきに作成するのですよね。 いい悪いは別にして、提示のコードには、そのシートの区別がありません。 方法はいつくもありますが、簡単なサンプルを。 当然のことですが、CommandButtonは、シート【あ】にあるものとする '------------------------------------------- Private Sub CommandButton1_Click() Dim R As Long Dim R2 As Long Sheets("【い】").Range("C:C").ClearContents For R = 1 To Cells(Rows.Count, "B").End(xlUp).Row R2 = (R - 1) * 2 + 1 Sheets("【い】").Cells(R2, "C").Value = Cells(R, "B").Value Next R Sheets("【い】").Select End Sub '--------------------------------------------- お試しください。
その他の回答 (1)
- aleister
- ベストアンサー率31% (11/35)
Range("C1:C124").ClearContents Dim t As Integer t = 1 For i = 1 To 124 Step 1 If i <> 1 Then t = t + 2 End If Cells(t, "C").Value = Cells(i, "B").Value Next 少し無理やりですが。。