• ベストアンサー

縦に並んだシートのセルデーターを他のシートに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 と、してみたのですが、だめでした。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.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)
回答No.1

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 少し無理やりですが。。

関連するQ&A