人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

この画像にあります「エクセル01ファイル」という請求書があります。
1件入力し終えた後、ボタンを押すとファイル内の別シートに保存されます。
この中の内容の一部を、別の「エクセル02ァイル」を新たに作成し、画像のような項目が1行目からボタンを押す度に2行目、3行目と溜まっていくようになるようなエクセルをどのように作成するかをご教授ください。
(画像内のセルの位置は実際のファイルのもので、この例となる請求書画像の位置とは異なります)

1377686334
●拡大する

●質問者: surippa20
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●1000ポイント ベストアンサー
Private Sub CommandButton1_Click()

 Dim TBook As Workbook
 Set TBook = Workbooks.Open("エクセル02ファイル.xls")
 
 a = TBook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
 
 If TBook.Sheets(1).Cells(1, 1) <> "" Then a = a + 1
 
 TBook.Sheets(1).Cells(a, 1) = Range("H1")
 TBook.Sheets(1).Cells(a, 2) = Range("C5")
 TBook.Sheets(1).Cells(a, 3) = Range("D10")
 TBook.Sheets(1).Cells(a, 4) = Range("D11")
 
 期間 = Range("D11") - Range("D10")
 TBook.Sheets(1).Cells(a, 5) = 期間
 TBook.Sheets(1).Cells(a, 6) = Range("D7")
 
 判別 = 0
 
 If Range("D7") <= 10000 Then 判別 = 5
 If Range("D7") <= 5000 Then 判別 = 4
 If Range("D7") <= 3000 Then 判別 = 3
 If Range("D7") <= 1000 Then 判別 = 2
 If Range("D7") <= 500 Then 判別 = 1
 
 
 TBook.Sheets(1).Cells(a, 7) = 判別
 TBook.Sheets(1).Cells(a, 8) = Range("B6")
 TBook.Sheets(1).Cells(a, 9) = Range("C6")
 
 
 TBook.Close SaveChanges:=True
 
End Sub


ボタンを押したときの処理を 上記のようにすればよいでしょう。

Set TBook = Workbooks.Open("エクセル02ファイル.xls")

ここに エクセルファイル名を入れればいいです。
新たに作成とありますが、追加していくのであれば、最初に手動でファイルを作ったほうがいいでしょうね。

あと シートは 最初のシートになっています。
シート名が固定ならば それにしてもいいですよ。

TBook.Sheets(1).Cells(a, 1)

TBook.Sheets("シート名").Cells(a, 1)


surippa20さんのコメント
大変遅くなりご連絡もせずに誠に失礼致します。 頂きました内容で今ほど作成しています。 シート名ですが、ボタンを押す度に「2のお客様氏名」+ボタンを押した日時の「日」がシート名に記載され、シートがその度に増えていることを記載しておりませんでした。 実行時エラー'1004': アプリケーション定義またはオブジェクト定義のエラーです。 という内容が表示されました。

surippa20さんのコメント
もう一度、シート部分を追加し質問を致しました。 http://q.hatena.ne.jp/1378297554 宜しければこちらでお願い致します。

きゃづみぃさんのコメント
エラーですけど、どの行で エラーになりますでしょうか? また、シートに保存とありますが、シートに保存の箇所は なくても動作するように作ってあります。

surippa20さんのコメント
時間が経過し申し訳ありません。一旦、エクセル02ファイル.xlsに書き出すところまで、おこなうことができました。 一件を入力しボタンを押すと、エクセル02ファイル.xlsが開き、その1行目に依頼の通りに入力がされます。ありがとうございました。 ですが、2件目を入力する為に、1件目の案件を別シートに保存し、再度ボタンを押しますと、 「エクセル02ファイル.xlsは、既に開いています。2重に開くと、これまでの内容が破棄されます」と表示されます。 「はい」とすると、前回の1件目の1行目内容が消え、その1行目の上に、2件目の内容が入ります。 「いいえ」としますと、「実行時エラーOpenメソッドが失敗しました。Worksbookオブジェクト」と表示されます。 大変時間が経過しましたが、申し訳ありませんが質問させていただきました。誠に勝手を申しますが、何とぞよろしくおねがい致します。

2 ● だわかき
●100ポイント

データ フォームを使用して行を追加、編集、検索、および削除する
http://office.microsoft.com/ja-jp/excel-help/HA102749061.aspx

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ