1
VBAを初めて使用しています。あるブックから別のブックにセルをコピーしようとしています。場合によっては、 "送信"ブックファイルには1行しかコピーされません。また、コピーする複数の行がある場合もあります。これは現在、一度に1行だけで動作します。私はまでDoを追加しようとしましたが、コンパイルエラー "loop without do"を取得し続け、私が間違っていることを理解できません。私の "送信"ワークシートでは、セルH4から送信を開始し、列H、行xが空白の場合、ループを終了します。希望は意味がありますありがとう!Loop without Doエラー
Private Sub CommandButton1_Click()
Dim RowNumber As Single
Dim QuestionID As String
Dim Question As String
Dim TotalResponses As Single
Dim StronglyAgree As Single
Dim Agree As Single
Dim NA As Single
Dim Disagree As Single
Dim StronglyDisagree As Single
Dim Total As Single
Dim RecordID As String
Dim MATSEvalSummary As Workbook
RowNumber = 4
Worksheets("Data for MATS Summary File").Select
Do Until Cells.Item("H" & RowNumber) = ""
QuestionID = Range("H" & RowNumber)
Question = Range("I" & RowNumber)
TotalResponses = Range("j" & RowNumber)
StronglyAgree = Range("k" & RowNumber)
Agree = Range("l" & RowNumber)
NA = Range("m" & RowNumber)
Disagree = Range("n" & RowNumber)
StronglyDisagree = Range("O" & RowNumber)
Total = Range("P" & RowNumber)
RecordID = Range("u" & RowNumber)
Set MATSEvalSummary = Workbooks.Open("C:\MATS Eval Summary\170910 MATS Evals Summary.xlsx")
Worksheets("sheet1").Select
Worksheets("sheet1").Range("A1").Select
RowCount = Worksheets("sheet1").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Sheet1").Range("A1")
.Offset(RowCount, 0) = QuestionID
.Offset(RowCount, 1) = Question
.Offset(RowCount, 2) = TotalResponses
.Offset(RowCount, 3) = StronglyAgree
.Offset(RowCount, 4) = Agree
.Offset(RowCount, 5) = NA
.Offset(RowCount, 6) = Disagree
.Offset(RowCount, 7) = StronglyDisagree
.Offset(RowCount, 8) = Total
.Offset(RowCount, 9) = RecordID
RowNumber = RowNumber + 1
Loop
End With
MATSEvalSummary.Save
End Sub
'End With'は' Loop'の前にある必要があります。ワークブックを一度ループを開いて開くと、より良いアプローチに見えます。 –
あなたアレックスKですが、私が "ループ"の前に "終了"を移動すると、コンパイルエラーが発生します。 – rita