advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 103 for フォーマット 自動 印刷 (0.012 sec.)
フォーマット (1423), 自動 (14517), 印刷 (5709)
[[20190125151858]]
#score: 8137
@digest: fd948e174ce26fbcda6a43c1e25e2bc5
@id: 78444
@mdate: 2019-02-06T23:44:48Z
@size: 13905
@type: text/plain
#keywords: kaddress (136038), 刷写 (54242), 等費 (51665), 器賃 (51665), 真費 (51665), 耗備 (46493), 務機 (45837), 聞図 (44167), 額実 (42538), 電算 (42173), 書費 (38819), 届出 (35636), 績差 (34278), 出等 (33066), yuzu (30814), 賃貸 (29139), ・事 (26725), 国際 (26054), 算金 (25921), 新聞 (16500), 品費 (15881), 費1 (14826), 図書 (13729), 消耗 (12786), 算・ (12702), 機器 (11161), 備品 (11158), 隠居 (9321), 費用 (9156), 予算 (7925), 差異 (6892), 月毎 (6872)
『月ごとの項目別の金額を別シートにあるマスターに転記したい』(yuzu)
こんにちは、VBA初心者のため質問が不適切だったら申し訳ございません。 Excelの集計で困っています。 シート1には取りまとめのためのマスターの表があります。 ここに月ごとの集計した別シートの項目別の金額を挿入したいのですが、 月ごとの項目と金額が多くて、転記ミスをなくすために良い方法が無いか困っております。 項目の並び順は同じですが、フォーマットが少し違います。 実際の項目は50ほどあります。 【やりたい事】 月毎のシートからマスターシートへ同じ項目、同じ月に金額を挿入したい。 この作業を項目を参照して自動で入力できないかと思っています。 50項目を毎月々やるのでミスをなくすためにも必要としております。 ご教授よろしくお願いいたします。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- こんにちは ^^ シート1 別シート >>項目の並び順は同じですが、フォーマットが少し違います。 具体的なフォーマット(セル位置がわかるもの)表形式で VBA適用前 (これを) VBA適用後 (このように) みたいに何方がみても解るようにご説明いただくと たくさん、アドバイスがあると思います。 でわ m(_ _)m (隠居じーさん) 2019/01/25(金) 15:45 ---- 返信ありがとうございます。 罫線がないとわかりにくいかもしれませんが、宜しくお願い致します。 マスターの方にはごちゃごちゃと累計や実績等ありますが、月ごとは金額のみです。 この月の金額をマスターの金額に入れたいのです。 消耗品などの項目は全部で50項目ほどあります。 マスターシートは右に12月、1月〜と続いています。 ご確認お願い致します。 【マスターシート】 (11月) 営業 営業(国際) 予算 累計 予算 金額 実績 差異 予算 金額 実績 差異 消耗備品費 印刷写真費 届出等費用 新聞図書費 電算・事務機器賃貸 【月毎のシート】 (11月) 営業1 営業(国際) 金額 金額 消耗備品費 印刷写真費 届出等費用 新聞図書費 電算・事務機器賃貸 (yuzu) 2019/01/25(金) 16:14 ---- このレイアウトだったら私ならば金額の列のみ色を付けてマスターシートに直接入力していきますけど。 (のりん) 2019/01/25(金) 17:00 ---- のりん様 コメントありがとうございます。現状がその作業なんです。 ただ項目が50くらいあり、月ごとのシートから転記が手間で。 ざっくりとした配列を記入させて頂きましたが、 マスターのそれぞれの科目ごとの項目には小計の行があったりします。 単純にコピペともいかず。 大事な資料なのでできれば間違いなく進めたいと考えて質問させて頂きました。 良い方法があればお手数をおかけしますが宜しくお願い致します。 (yuzu) 2019/01/25(金) 17:08 ---- こんばんは ^^ 回答ではありませんが。 セルアドレスがわかりませんので、おもいっきり 予想サンプルですが 一案で。。。^^; 金額セルは固定で配列なんかに入れておく案 きっともっとスマートな方法があると思います。 Sheet2 がこんな感じ(月毎) A B C 1 2018年11月 2 営業1 営業(国際) 3 金額 金額 4 消耗備品費 1000 3000 5 印刷写真費 1100 4000 6 届出等費用 1200 5000 7 新聞図書費 1300 6000 8 電算・事務機器賃貸 1400 7000 Sheet1 結果 A B C D E F G H I J K 1 2018年11月 2 営業 営業(国際) 3 予算 累計 予算 金額 実績 差異 予算 金額 実績 差異 4 消耗備品費 1000 3000 5 印刷写真費 1100 4000 6 届出等費用 1200 5000 7 新聞図書費 1300 6000 8 電算・事務機器賃貸 1400 7000 Option Explicit Sub main() Dim s1 As Worksheet Dim s2 As Worksheet Dim i As Long Dim j As Long Dim buf As Variant Dim kaddress kaddress = Array("E", "I") Set s1 = Worksheets("Sheet1") Set s2 = Worksheets("Sheet2") With s1 buf = s2.Range("a4:c8") For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row For j = 1 To UBound(buf, 1) If .Cells(i, 1) = buf(j, 1) Then .Cells(i, kaddress(0)) = buf(j, 2) .Cells(i, kaddress(1)) = buf(j, 3) End If Next Next End With End Sub (隠居じーさん) 2019/01/25(金) 18:03 ---- 私にも同様な表があったので参考にしてくださいね。 隠居じーさんさんの表を元に関数で次のようにしてみました。 >月毎のシートからマスターシートへ同じ項目、同じ月に金額を挿入したい。 営業の金額(E4) =IF(Sheet2!$C$1=$B$1,Sheet2!$B4,"") 営業(国際)の金額(I4) =IF(Sheet2!$C$1=$B$1,Sheet2!$C4,"") 月が入力されているセルを指定して $B$1 を書き換える。 >項目の並び順は同じですが マスターシートの項目が変更になってもいいように Sheet2 の A4に =Sheet1!$A4 と入力する。 それぞれ下方向にコピーする。 毎月分の関数を入力していくのが手間がかかるかも。 (のりん) 2019/01/26(土) 14:44 ---- 隠居じーさん様 のりん様 おはようございます。 こちらこちら両方をためしてみます。 また状況をお知らせいたしますね。 ありがとうございます。 (yuzu) 2019/01/28(月) 08:27 ---- 遅くなりました。 申し訳ございません。 のりん様 こちらテストExcelでうまくいきました。 毎月は大変なので応用できるか確認してみますね。 ありがとうございます。 隠居じーさん様 こちらどうしてもエラーがでてしまいます。 実行時エラーg インデックスが有効範囲にありません。 ↑ 私が素人のため何か設定ミスをしているのかもしれません。 分かる範囲で教えて頂ければ助かります。 宜しくお願い致します。 (yuzu) 2019/01/30(水) 17:06 ---- こんばんは^^ とりあえず、教えていただきたい事 わかれば 1.どの箇所でエラーになっているか教えていただけますか(黄色に反転している箇所) 2.上記の私が提示させていただいたサンプルと、実際に試されたシートのフォーマット シート名、セル番地は同じでしょうか、ご確認ください。 3.コードの貼り付け先は標準モジュールでしょうか。 m(_ _)m (隠居じーさん) 2019/01/30(水) 17:24 ---- 失礼いたしました。^^;。。。m(_ _)m のりんさん の数式で、OKと云う事は シート名等は合っているという事ですね。 。。。 すみませんが コードの中にカーソルを合わせF8でステップ実行 していただいて。止まる箇所があれば、お知らせください。 でわ (隠居じーさん) 2019/01/30(水) 17:49 ---- じゃじゃぁじゃぁ〜〜〜〜ん検証班、参上です。 隠居じーさん 様のコードは凄くスムーズに動きましたです。 これで、、インデックス、、、とは、、、シートがないくらいでしょう。。。。 Sheet1とSheet2はありますでしょうか???? (SoulMan) 2019/01/30(水) 20:16 ---- こんばんは ^^ SoulMan 様 ありがとうございます。 m(_ _)m (隠居じーさん) 2019/01/30(水) 21:02 ---- 例題で、マスターシート 月毎のシート となっていますから、、、その辺が怪しい?かもです。 トピ主さん、疑ってすみません。どうぞ、お気を悪くなされません様に。。。。 いえいえ、、おやすい御用でございます。。。。。 (SoulMan) 2019/01/30(水) 21:15 ---- 隠居じーさん様 SoulMan様 コメントありがとうございます。 1: Set s1 = Worksheets("Sheet1")で黄色なっています。 2:シート1は集計シート シート2は11月 と名前を付けていたのでこれが原因かと思いシート名をSheet1、2に戻してみました。 そうするとエラーは出ないものの、マクロが実行しなくなりました。 セル番地は同じです。 3:標準モジュールです。 やはり私が何かミスしていそうです。T_T (yuzu) 2019/01/31(木) 11:55 ---- あの〜。。。可能性としてですが。。。 Sheet1 Sheet2 逆に名前を変えているような事はございませんでしょうか。 一度、ご確認お願いしてよろしいでしょうか。^^; m(_ _)m (隠居じーさん) 2019/01/31(木) 12:22 ---- 今回は関係無いとは思うのですが、 こちらでは、つけても付けなくても動作は変わりませんでしたので。。。 でも、抜けていると言えば抜けていますので。。。^^; すみません! m(__)m For i = 4 To .Cells(Rows.Count, 1).End(xlUp).Row ↑ここ For i = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row のようにドットを書いてください。 でわでわ (隠居じーさん) 2019/01/31(木) 12:32 ---- 隠居じーさん様 ご連絡おそくなりました。 Excelを新しくしてマクロを入れてみたところ動きました。 Sheet2の11月のデータ 消耗品費と届出等費用がSheet1のマスターのにちゃんと転記できました。 ちなみにこの2つしか転記できず。 s2.Range("a4:c8")はSheet2の表のすべてを選択と思っていたのですが、 他の金額が転記できなかったのは何か原因は考えられますでしょうか? 質問ばかりで申し訳ございません。 宜しくお願い致します。 (yuzu) 2019/02/06(水) 11:15 ---- とりあえず、現時点で考えられる事は。。。 転記出来なかった項目名 (印刷写真費 、新聞図書費、電算・事務機器賃貸 )が 転記先の項目 A列(4行目以降。。。) に存在しない場合は転記出来ません。 空白、若しくはB列にある とかではないでしょうか。 しらべてみますね。 (隠居じーさん) 2019/02/06(水) 12:34 ---- 隠居じーさん様 ご連絡ありがとうございます。 すみません!!A列の項目に変な半角スペースが入ってました!! 大変申し訳ございませんでした。 ちゃんと転記できました。これですすめられます。 本当に素人でお手数かけました。 つ、ついでにもう1つお尋ねですが、 今回は金額だけ転記したのですが、その隣の実績金額も転記したい場合について、 下記のように月毎の表に実績が増えた場合なのですが、 buf = s2.Range("a4:e8") kaddress = Array("E", "I")→ kaddress = Array("E", "F","I", "J") とすれば大丈夫でしょうか? 【Sheet2】 A B C D E 2018年11月 営業1 営業(国際) 金額 実績 金額 実績 消耗備品費 1,000 1,200 3,000 3,500 印刷写真費 1,100 1.250 4,000 4,500 届出等費用 1,200 1.300 5,000 5,500 新聞図書費 1,300 1,350 6,000 6,500 電算・事務機器賃貸 1,400 1,400 7,000 7,500 【Sheet1】 A B C D E F G H I J K 2018年11月 営業1 営業(国際) 予算 累計 予算 金額 実績 差異 予算 金額 実績 差異 消耗備品費 1,000 3,000 印刷写真費 1,100 4,000 届出等費用 1,200 5,000 新聞図書費 1,300 6,000 電算・事務機器賃貸 1,400 7,000 (yuzu) 2019/02/06(水) 13:30 ---- Option Explicit Sub main() Dim s1 As Worksheet Dim s2 As Worksheet Dim i As Long Dim j As Long Dim buf As Variant Dim kaddress kaddress = Array("E", "I", "F", "J") Set s1 = Worksheets("Sheet1") Set s2 = Worksheets("Sheet2") With s1 buf = s2.Range("A4:E8") For i = 4 To .Cells(.Rows.Count, 1).End(xlUp).Row For j = 1 To UBound(buf, 1) If .Cells(i, 1) = buf(j, 1) Then .Cells(i, kaddress(0)) = buf(j, 2) .Cells(i, kaddress(1)) = buf(j, 3) .Cells(i, kaddress(2)) = buf(j, 4) .Cells(i, kaddress(3)) = buf(j, 5) End If Next Next End With End Sub でしょうか。 実験していません お試し後またご連絡お待ちいたします。 m(__)m (隠居じーさん) 2019/02/06(水) 15:30 ---- すみません。。。 ^^ kaddress = Array("E", "F", "I", "J") に修正お願いいたします。 これで、多分、お望みのものかと。 m(_ _)m (隠居じーさん) 2019/02/06(水) 15:48 ---- 隠居じーさん様 何度も申し訳ございません。 完璧でした!! ありがとうございます。 参考にして勉強いたします。 最後に質問させてください。 .Cells(i, kaddress(0)) = buf(j, 2) .Cells(i, kaddress(1)) = buf(j, 3) .Cells(i, kaddress(2)) = buf(j, 4) .Cells(i, kaddress(3)) = buf(j, 5) ここは転記するマスタのセルの範囲ですよね。 ちょっと仕組みがわからなくて、 教えていただければ今後の参考にしたいと思います。 (yuzu) 2019/02/06(水) 16:40 ---- こんばんは ^^ はい。そうです 配列 kaddress = Array("E", "I", "F", "J") に対応させています kaddress(0)) は"E"なので 変数i行目のE列です。 iが2ならE2のセルが作業対象です。 このまま単体のマクロで月毎の作業の便利ツールとして使うだけなら このようなややこしい書き方でなくても直接 .Cells(i, "J") = buf(j, 5) とか .Cells(i, 10)) = buf(j, 5) のほうが間違いがなくいいかもしれません。 ただ年間(1〜12か月分)もちろん経過した月まで毎の処理ですが 全て自動で月毎のシートを呼び出し転記するような事をお考えでしたら bufは自動認識に変え、 金額と実績のアドレスを別々の配列に作り処理月の月数と配列の同期を とれば便利かと思いこのような書き方を致しました。 (他にもたくさん方法はあると思いますが。) 【でもそうすると確かに便利ですが複雑になりトラブル発生のリスクも高く なるかと。。。】 【 】 ↑ は私だけかも( ̄▽ ̄;) でわでわ がんばってくださいね。 (隠居じーさん) 2019/02/06(水) 18:52 ---- 隠居じーさん様 おはようございます。 解説ありがとうございます。 大変参考になりました。 自分でも色々試して勉強させて頂きます。 この度は細かなアドバイスありがとうございました。 また機会がありましたら宜しくお願い致します。 (yuzu) 2019/02/07(木) 08:42 ---- のりん様とSoulMan様 お礼おそくなりました。 皆様のおかけで勉強になりました。 また宜しくお願い致します。 (yuzu) 2019/02/07(木) 08:44 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201901/20190125151858.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97059 documents and 608315 words.

訪問者:カウンタValid HTML 4.01 Transitional