Sub Consume_RoundedRectangle111_Click()
Dim i As Long, lastrow As Long, n As Long
Dim vResult()
Dim myWs As Worksheet
Set myWs = ThisWorkbook.Sheets(Range("B9").Text)
If ActiveSheet.Range("b4") = "" Or ActiveSheet.Range("b5") = "" Or ActiveSheet.Range("b6") = "" Or ActiveSheet.Range("b7") = "" Or ActiveSheet.Range("b8") = "" Or ActiveSheet.Range("b9") = "" Or ActiveSheet.Range("d4") = "" Or ActiveSheet.Range("d6") = "" Or ActiveSheet.Range("d7") = "" Or ActiveSheet.Range("d8") = "" Then
MsgBox "Please complete all fields!"
Exit Sub
End If
'lastrow = Sheets("database").Cells(Cells.Rows.Count, 2).End(xlUp).Row + 1
i = 10
Do While Cells(i, 3) <> "" And i < 30
n = n + 1
ReDim Preserve vResult(1 To 9, 1 To n)
vResult(1, n) = ActiveSheet.Range("E7") ' Consumer
vResult(2, n) = ActiveSheet.Range("B4") ' Date
vResult(3, n) = ActiveSheet.Range("E4") ' Ref
vResult(4, n) = ActiveSheet.Range("B5") ' Code
vResult(5, n) = ActiveSheet.Range("B6") ' Description
vResult(6, n) = ActiveSheet.Range("E6") ' U/M
vResult(7, n) = ActiveSheet.Range("B7") ' Qty
vResult(8, n) = ActiveSheet.Range("B8") ' Price
vResult(9, n) = ActiveSheet.Range("E8") ' Transaction
i = i + 1
Loop
myWs.Range("a" & Rows.Count).End(xlUp)(2).Resize(n, 9) = WorksheetFunction.Transpose(vResult)
MsgBox "Saved Succesfully!"
ThisWorkbook.Save
End Sub
これは私が知っているコードです。データは1枚のシートから別のシートのデータベースにコピーされます。しかし、今私が望むのは、セルによって決定されたシートにデータを転送またはコピーすることです。たとえば、別のシートにコピーするデータがあり、セルA5に "NBB"が含まれているとします。マクロを実行すると、データは "NBB"という名前のシートにコピーされます。申し訳ありませんが、私は英語でこれを説明するのが苦労しています...VBAを使用してシートにデータを転送する
どのようなエラーが表示され、どの行に表示されますか? – braX
あなたの質問に詳しいことがありますか?あなたのタイトルは非常に不誠実で、より説明的でなければなりません。あなたの質問と同じです。あなたは、あなたが達成しようとしていることを正確に尋ねていません。 [How to Ask Questions](https://stackoverflow.com/help/how-to-ask)と[最小限の完全かつ検証可能なサンプルを作成する方法](https://stackoverflow.com/help/)をお読みください。 mcve)を使用して、正解で有益な回答を得るための適切な変更を行った質問を適切に行う方法についてのヒントを提供します。あなたの問題に関する詳細な情報がなければ、ここに誰も本当にあなたを助けることができません。 – Busse
私はそれを編集しました、混乱のために申し訳ありません。 –