![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_13.png?e8efa67)
よくある見積書の形式通りなのですが、明細行は内容・明細・数量・単位・単価・金額・備考の横並びセル群から成り、その明細行は下方へ適当回繰り返されて、最後にそれらを合算する小計行が来ます。
そこでご質問は、3行程度の明細行+小計行の簡単なものを作っておいて、最初の一行を記入すれば自動的に4行目の空欄明細行が生成されて、小計行は計算結果を表示しつつ自動的に一行繰り下がる、というものは可能でしょうか。同様に2行目を記入すれば新しい明細行の5行目を小計行の一段上に生成したいのです。
エクセルで見積書を作ってあげるのですが、見積が大量になった時に明細行が不足するのを恐れてPC上でトイレットペーパーのように長大な見積用紙を用意した挙句にオートフィルタを使って短縮表示するという無駄と使いにくさを解消したいのです。
No.6ベストアンサー
- 回答日時:
No2です。
マクロはエクセルでAlt+F11でVBAが出てきます。
左側にあるプロジェクトのSheet1を右クリックし、コードの表示を選択。
Sheet1(コード)という画面が出てきますのでそこに下記を貼り付けし。
No2で書いてあったように
1.A2~G2まで適当なデータを入力。
2.H2をクリックするとA5~G2に転記される。
3.I2をクリックすると新規見積書というメッセージボックスが表示。
練習としてやってみて下さい。VBAの楽しさも分ると思いますし、質問者さんのしたいことも、イメージとして出来てくると思います。
頑張ってください。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Worksheets(1)
La = .Range("a65536").End(xlUp).Row
If La = 2 Then La = 5
Select Case Target.Column & Target.Row
Case "82"
For i = 1 To 7
.Cells(La + 1, i).Value = .Cells(2, i).Value
Next
Case "92"
MsgBox "新規見積書作成"
End Select
End With
End Sub
有難うございました。例文のコピペでイントロだけですが面白さを体験出来ました。いくらかマクロが解れば今回の見積書だけでなくエクセル関数を組合せた原始的「ソフトもどき」製作もブラッシュアップ出来るかもしれません。
No.5
- 回答日時:
#1です。
>仰ることはNo2のWWolfさんのご回答と同じ内容なのでしょうか。
いえ、違います。
>本とそのどこを読めばよいかをお教え頂けませんか。
ボタンにマクロを登録するやり方が、参考URLにありますので、ご覧になってはいかがでしょうか。
参考URL:http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/v …
マクロをご紹介頂き有難うございました。
どうやらマクロを使う事で解決出来そうな予感がします。かなり険しい道のようですがこれを手掛かりにしてもっとエクセルを楽しもうと思います。
No.4
- 回答日時:
前の質問の続きでしょうが、質問表現が前と変わらない(あまりわかりやすくなっていない)ようですね。
(1)1つは元データがどういう状態(どういう入力を、どこにするのか)なのか書いてないのですが、直接見積書に人手で見積もりデータを入れて行くのでしょうか。それではワープロで清書するのとあまり変わりませんが。
(2)仕事で他の担当者が1行1品目の売り上げデータが多数行連なっているのでしょうか。並び順は。連番とかは。
これらのことが処理する上で肝心です。
(3)どうせいくら見積書の行を増やしても、その限度を超える場合が出る可能性あり。
この件などのため、本件はVBAを使えるか、その覚悟がないと難しいでしょう。
本番の仕事をコンピュターで処理するにはエクセルならVBAを使わないとできないと個人的に思っています。
印刷の自動化もありますのでね。
>挙句にオートフィルタを使って短縮表示するという無駄と使いにくさを解消したいのです・・・
私なら、オートフィルタでなく、少ないときは小計・合計を上に上げ、罫線もそのようにする。
オーバーしたときは、明細は別シートに繰越し、宛名など上部をコピーした形で自動的に作るとか、VBAで処理しますね。
ご回答有難うございました。
>質問表現が前と変わらない(あまりわかりやすくなっていない)ようですね。
貧文で申し訳ありません。
>本件はVBAを使えるか、その覚悟がないと難しいでしょう。
そのようですね。お蔭様でその覚悟を固めつつあります。
>エクセルならVBAを使わないとできない
鬼に金棒というのでしょうか。それでなくともすごいソフトだと思っています。これを機会にもっと貪欲になります。
No.3
- 回答日時:
私の場合(請求書ですが)明細入力は別シートにしています。
請求書は、印刷する形式にしていて、
請求書の明細は、別シートから転記しています。
転記する明細がなくなったときに合計(質問者様の言う小計?)を書いています。
逆の操作になりますが、
これでよいのではないかと思います。
この回答への補足
たしかに請求書も似た様な考えで出来ていますよね。
明細行が終わった所でオートサムを押せば良い訳ですが、でもエクセル操作に不慣れな人に使って貰うので明細の記入と数量・金額を決まった所に打ち込むだけで(またはそれに近い形で)総合計まで含めて書類が自動的に完成するようにしてあげたいのです。
No.2
- 回答日時:
質問者さんの仰っていることは、
1.シート2にデーターベース的な物を作り、シート1に印刷用フォーマットを作成しておきそこに出るようにしたい。
2.シート2の追記方法として、質問内容に書いてある仕様でしたい。
この二点ですか?
Q1
フォームとはVBAで言うFormではないと捕らえて良いのでしょうか?
Q2
データーは蓄積させるべきですか?
その辺は補足をお願いすることとして・・・
可能 Or 不可能で言えば、細かい仕様がわかりませんが、”可能”であると思います。
質問者さんのマクロに対しての知識が必要ではありますが、この質問ではどこまでが質問者さんの求めていることかが把握できません。
下記は参考までに・・・
シート1の1行目のセル毎にA1=”内容”、B1=”明細”、C1=”数量”、D1=”単位”、E1=”単価”、F1=”金額”、G1=”備考”を入力し
シート1の2行目に各々データを入力後、H2をクリックまたは選択するとシート1の5行目以降に追加していくマクロを記述しておきます。
シート1のコードに下記をCopy&Paste
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With Worksheets(1)
La = .Range("a65536").End(xlUp).Row
If La = 2 Then La = 5
If Target.Column = 8 Then
For i = 1 To 7
.Cells(La + 1, i).Value = .Cells(2, i).Value
Next
End If
End With
End Sub
この回答への補足
フォームは書式というつもりで書きました。紛らわしい書き方をお詫びします。
質問のまとめ1.2.はその通りです。
1)仰るように、予め一行の明細行(関数が埋め込まれているだけの空セル群)を他で用意しておき、或る簡単な動作をすることで(例えばH2クリック)その明細行を相対指定した場所 A(x+1)~G(x+1)に生成させ、それに見積りの打ち込みを済ませてからH3のクリックで次の新しい明細行を生成させるという動き方ならパーフェクトに希望に合致します。必要なのは空の行ですから用意する書式も質問に書いたような1種類でOKです。
同時に、加えて行く行の金額欄の数字だけは、明細行が増えるにつれて繰り下がってゆく小計行に合計させて行きたい。これはごく普通の見積書の形式と同じですから当然ですね。
このような仕掛けをワンセットとして、同じシート内に同様のセットを幾つもつなげて行きたいのです。各セットごとの小計はシートの最終行で合算して見積り完成です。
2)打ち込んだデータを蓄積させる事までは考えていません。便利だとは思いますが。
マクロは不案内です。サンプル記述を頂きましたが、どこにどのように貼り付けるかが解りません。ここは難しい事を一から教えて頂く場所ではありませんから指針だけをお教えください。
No.1
- 回答日時:
ボタンを押すのはだめですか?
ボタンを押すと、小計行のすぐ上の行を行選択し、「編集」→「コピー」そして、「挿入」→「コピーしたセル」を実行するマクロを組めばよいのでは?
この回答への補足
マクロを使えばそんなボタンが出来るのですか?ならばその「マクロ」に私の解決が求められそうです。
そうなれば次の問題はどうすれば必要十分なマクロ知識が得られるか、です。たいがい何でも独学でやってきましたから簡単な学習の指針(マクロのどんな知識をどこで仕入れるか)を得れば何とかなるかも知れません。
仰ることはNo2のWWolfさんのご回答と同じ内容なのでしょうか。本を買いますのでよろしかったらお持ちの本とそのどこを読めばよいかをお教え頂けませんか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- 確定申告 個人の確定申告。「医療費のお知らせ」記載内容と医療費控除の明細書【内訳書】に記入する内容の関係 4 2023/03/04 18:41
- Wi-Fi・無線LAN PCWi-Fiの設定方法がわからなくて困っています。 4 2022/12/28 18:30
- リフォーム・リノベーション 汚水枡改修工事の見積額は妥当でしょうか? 2 2022/06/30 09:01
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Excel(エクセル) Excel(エクセル)でフィルター抽出後、非表示の行を計算しないで、合計を算出する方法 【内容】 添 4 2023/01/30 17:17
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「内訳」と「明細」の違い
-
クレジットカード明細にある「...
-
キャバクラや風俗をクレカで支...
-
クレジットカード不正利用?
-
給料が早めに振り込まれること...
-
VISA国内利用vsカンタンケッサイサービス ...
-
XMLをエクセルに取り込むマクロ
-
明細と詳細
-
弁護士ドットコムに課金されて...
-
【クリーニング店のレシート(明...
-
至急回答お願いします!! エポ...
-
次のような見積書フォームを作...
-
【アクセス】DSumで複数の条件
-
ETC利用料の明細
-
paypalについての質問です。 pa...
-
オリコカードの明細を届かなく...
-
エクセルの明細行を複数行に変...
-
「d払いご利用可能額」とご利用...
-
自己破産申請したら全クレジッ...
-
apple bill ってなんですか? 6...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャバクラや風俗をクレカで支...
-
「内訳」と「明細」の違い
-
クレジットカード明細にある「...
-
クレジットカードを見たらヤフ...
-
飲食店の会計明細について(ド...
-
VISA国内利用vsカンタンケッサイサービス ...
-
クレジットカード不正利用?
-
MUFGカードについて質問です。 ...
-
料金について
-
「d払いご利用可能額」とご利用...
-
dカードゴールドに変更して3ヶ...
-
Accessサブレポートの内容が重...
-
明細と詳細
-
自己破産申請したら全クレジッ...
-
【クリーニング店のレシート(明...
-
docomo.携帯請求書が急に届かな...
-
XMLをエクセルに取り込むマクロ
-
確定申告を自宅のパソコンでし...
-
三井住友カードはメールで問い...
-
2枚目の楽天カードVISAの明細を...
おすすめ情報