プロが教える店舗&オフィスのセキュリティ対策術

入力フォームから別のファイル(エクセルファイル)のデーターベースにVBAでデータを飛ばしたいのですがうまくいきません。
どなたかアドバイスをお願いいたします。      
Sub 登録()
Dim 管理番号 As Long

管理番号 = Sheets("フォーム").Cells(3, 3)


Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 0) = 管理番号
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 1) = Sheets("フォーム").Cells(4, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 2) = Sheets("フォーム").Cells(4, 5)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 3) = Sheets("フォーム").Cells(5, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 4) = Sheets("フォーム").Cells(5, 5)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 5) = Sheets("フォーム").Cells(6, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 6) = Sheets("フォーム").Cells(6, 5)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 7) = Sheets("フォーム").Cells(7, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 8) = Sheets("フォーム").Cells(7, 5)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 9) = Sheets("フォーム").Cells(8, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 10) = Sheets("フォーム").Cells(8, 5)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 11) = Sheets("フォーム").Cells(9, 3)
Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 12) = Sheets("フォーム").Cells(9, 5)

これだとシートになってしまうのでこれを別のファイルにデーターを飛ばしたいです。

A 回答 (1件)

ブックを指定して使用します。


一例ですが。
WorkBook("データベースのブック").Sheets("DB").Cells(管理番号 + 1, 1).Offset(0, 1) =ThisWorkBook. Sheets("フォーム").Cells(4, 3)
もちろん、ファイルが開いている状態であってのことです。
このままでは、コードが長くなるので
VBAが書いてあるブックをアクティブな状態にして

With WorkBook("データベースのブック").Sheets("DB")
.Cells(管理番号 + 1, 1).Offset(0, 1) = Sheets("フォーム").Cells(4, 3)
・・・
End With
と云う書き方をします。
    • good
    • 0

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