| 
    
     |  | >▼まくら さん: テストしたものをそのまま掲載してしまったのでWorksheetsの指定が間違っていました。
 もう見ていらっしゃらないかもですが、個人的に気持ち悪いので修正。
 
 Sub まくら2_修正()
 Dim myStr As String
 Dim i As Long, n As Long, lastRow1 As Long, lastRow2 As Long
 
 With ThisWorkbook.Worksheets("Sheet1")'=====←
 lastRow1 = .Range("A" & Rows.Count).End(xlUp).Row
 For i = 1 To lastRow1
 myStr = .Range("A" & i).Value
 n = .Range("B" & i).Value
 
 If n <> 0 Then '=====追加
 With ThisWorkbook.Worksheets("Sheet2")'=====←
 lastRow2 = .Range("A" & Rows.Count).End(xlUp).Offset(1).Row
 
 If .Range("A1").Value = "" Then
 .Range("A1", "A" & n).Value = myStr
 Else
 .Range("A" & lastRow2).Resize(n, 1).Value = myStr
 End If
 End With
 End If '=====追加
 Next i
 End With
 End Sub
 
 
 |  |