チョコミントアイス

VBAのシートをまたいだコピペにおいて、1列の連続したデータを特定の間隔で分割し複数列に貼り付ける方法がわかりません。

sheet1の@6~@30、@32~@39…とセルで27個分のデータが1列に不特定個数入力された表があります。
それをsheet2のO10~O37、P10~P37…と複数列に分け順番に転記していきたいです。
@は特定条件を設定し指定するようにしていますが、貼り付けの際の繰り返し処理が
どうやってもうまくいかず躓いております。

A 回答 (2件)

いくつか不明な部分もありますので環境に合わせて修正してください


見出し(?)部分で列を変更するという事であれば、最下部の"見出し"判定部分に
『intOC = intOC + 1』を追加すれば可能です

Public Sub Sample()
 
 Dim intIR As Integer
 Dim intIC As Integer
 Dim intOR As Integer
 Dim intOC As Integer
 Dim intL As Integer
 
 intIR = 6
 intIC = 2
 intOR = 9
 intOC = 9
 Do Until Sheet1.Cells(intIR, intIC).Value = ""
  intOR = intOR + 1
  If intOR > 37 Then
   intOR = 10
   intOC = intOC + 1
  End If
  Sheet2.Cells(intOR, intOC).Value = Sheet1.Cells(intIR, intIC).Value
  intIR = intIR + 1
  If Sheet1.Cells(intIR, intIC).Value = "見出し" Then
   intIR = intIR + 1
  End If
 Loop
 
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!
変数+1という使い方ができるんですね!
勉強になりました!!

お礼日時:2019/06/03 06:09

あっ!


訂正です
intLの定義部分は不要です
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!