- 締切済み
vba 作成
CC_Tの回答
- CC_T
- ベストアンサー率47% (1038/2201)
accessで帳票印刷・・・・というのは置いときましょうかね。 ひねりも無いベタなものですけど、どうぞ。 sheet1の2行目(gyou=2)から初めて、下に向かって通し番号(C列)のセルの値がゼロ(未記入)になるまでsheet2の指定セル情報を更新しては印刷、を繰り返します。 macro2はおまけ。 指定の通し番号のセルを探して、その行の分を印刷します。 ~~~ Sub Macro1() ' Dim gyou As Integer ' gyou = 2 Sheets("Sheet2").Select While (Sheet1.Cells(gyou, 3) > 0) Cells(1, 3) = Sheet1.Cells(gyou, 8) Cells(2, 5) = Sheet1.Cells(gyou, 3) Cells(3, 5) = Sheet1.Cells(gyou, 2) Cells(1, 12) = Sheet1.Cells(gyou, 1) ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _ :=True, IgnorePrintAreas:=False gyou = gyou + 1 Wend End Sub Sub Macro2() ' Dim gyou As Integer Dim Obj As Object numb = InputBox("印字対象の通し番号を入力", "物品貼り付け票印刷", "") If numb = "" Then MsgBox "無効な入力です。中断します" Exit Sub End If Set Obj = Worksheets("Sheet1").Cells.Find(numb, LookAt:=xlWhole) If Obj Is Nothing Then MsgBox "指定された「" & numb & "」がリストにありません。" Exit Sub End If gyou = Worksheets("Sheet1").Cells.Find(numb).Row Sheets("Sheet2").Select Cells(1, 3) = Sheet1.Cells(gyou, 8) Cells(1, 5) = Sheet1.Cells(gyou, 3) Cells(2, 5) = Sheet1.Cells(gyou, 2) Cells(1, 12) = Sheet1.Cells(gyou, 1) ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _ :=True, IgnorePrintAreas:=False End Sub
関連するQ&A
- VBAでソートして、貼り付けのやり方
(条件及び操作) 1 シートが2つあります。(元データ と 名簿シート)という名前。 2 名簿シートのH2に数字を入力する。元データのシートの1行目にある、番号と一致する列を操作する。 3 元データの対象の列で、まずD列(組ごと)に、1組・2組をソートする 4 次に、対象の列(科目:国語や理科など)事に、○をソートする 5 ソート後に、番号、名前、出身と○をコピーする。 6 その後、名簿シート(1組でソートしたものは、B2、2組でソートしたものはE2)に貼り付ける 7 対象の列の科目名(国語なら国語を)をA1に貼り付ける 8 元データのソートを解除する (備考) 番号も科目も100ぐらいあります。 これらの(条件及び操作)を元に、名簿シートのH2に任意の数字を入力して、元データの対象の列を上記(1~8)の操作を行いたいと思います。 《シート名:元データ》 A列 B列 C列 D列 E列 F列 G列 H列 I列 ・・・ 1 2 3 4 5 ・・・ 番号 名前 出身 組 国語 理科 英語 数学 社会 ・・・ 001 Aさん 東京 1 ○ ○ ○ 002 Bさん 沖縄 1 ○ ○ ○ 003 Cさん 鹿児島 1 ○ ○ 004 Dさん 青森 1 ○ ○ 005 Eさん 北海道 2 ○ ○ 006 Fさん 京都 2 ○ ○ ○ ・ ・ ・ 《シート名:名簿シート》 A列 B列 C列 D列 E列 F列 G列 H列 国語 1組 2組 番号 名前 出身 番号 名前 出身 番号入力 お忙しい中、大変申し訳ございませんが、どうぞよろしくお願いします。 また、質問の内容などがわかりづらいなどの事がありましたら、ご指摘ください。
- ベストアンサー
- オフィス系ソフト
- Excel 横列で3列飛びに順番の番号を自動化する方法
Excelで、横列に3列飛びに順番の番号を自動化する方法を教えてください。 例えば、Sheet1のA1に初期値20から始め、終わりがSheet2のU1であったとします。 例 Sheet1 A1=20,B1=空白,C1=空白,D1=空白,E1=21,F1=空白,G1=空白,H1=空白,I1=22,・・・・・,AC1=27 Sheet2 A1=28・・・・・・・・・・,U1=33 どうすれば、これらの処理を自動化できるのでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル VBA
Sheet1(データベース)のA列に会社名(約30社) B列に管理番号0001~9999の番号 C列に取扱い品名(同じ会社名で複数あります) D列以降はその他の詳細(列は不規則)があります。 Sheet1をもとに会社名ごとのシートを作成し、管理番号順に並べ替えをしたいのですがうまくいきません。 どなたかお知恵をお貸し下さい。
- ベストアンサー
- Visual Basic
- VBA 異なるファイルを指定して文字を抜き出す
エクセルVBAについてご質問させて頂きます。 お詳しい方、ご教授頂ければ幸いです。 ファイルAを展開中に、別ファイルであるファイルB(ユーザ指定)の特定シートのセル「D2」及び「E2」から下のデータを順番に参照し、条件に合致する列のセル「B2」及び「C2」の文字列を繋げて改行し、 ファイルAの特定シートのセル「E2」から下に順番に貼り付けて行くには、 どのようにすれば良いでしょうか。 例 条件: D2=さ E2=た ・ファイルB(指定) 特定シート A B C D E 1 2 0 あ か さ た 3 0 あ き さ た 4 0 い か さ ち 5 0 い き さ た 6 0 う か し た 7 0 え か し ち 8 0 え か し た ・ファイルA特定シート A B C D E 1 2 あ か 3 あ き 4 い き 実力不足で丸投げの形となってしまい申し訳ありませんが、 よろしくお願い致します。
- 締切済み
- Visual Basic
- Excel,VBA シートの自動作成、データ
Sheet 1 に住所録 Sheet 2~50までに同じフォーマットで A B C~E F~H No. 名前 S~L S~L と並んでいてA4から名前 C~の列には各数量が50行ほど入力されています。 Sheet 2~50 までを名前ごとにまとめたSheet を自動で作成したいです。 Sheet1とSheet2~50の名前順は同じです。 例 Sheet51 シート名 Aさん DEF列 SML 1行目1,2,3(Sheet2AさんのC~E数量) 2行目2,2,2(Sheet2AさんのF~G数量) 3行目2,2,2(Sheet3AさんのC~E数量) 4行目4,4,4(Sheet3AさんのF~G数量) 同じようにSheet 53 Bさん となるようにループする方法をご教授ください。 よろしくお願い致します。
- 締切済み
- Visual Basic
- VBA
エクセルVBAについて教えてください。 シート1 A列 B列 C列 D列 E列 F列 ・・・ 商品A 商品B 商品C 商品D・・・ 日付 名前(1) 3 2 1 日付 名前(2) 1 3 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ シート2 A列 B列 C列 D列 E列 日付 名前(1) 商品A 3 商品C 2 商品D 1 日付 名前(2) 商品B 1 商品C 3 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 上記のような、エクセルで作ったシート1があります。 これを、シート2のようにコピーしたいと思っています。 商品は20列あり、数字が入っている列と入っていない列があります。 数字が入っている列の商品と数字をコピーして、すべてコピーが 終わったら次の行のコピーしていく。 行は100ほどあります。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルVBAについて教えてください
エクセル2003 シート1 A B C 1 3月1日 A 100 *A列はカレンダーコントロールより選択としています 2 4月1日 B 100 3 3月1日 C 200 *B列はコンボボックスより選択としています 4 3月1日 D 200 5 4月1日 E 300 *C列は直接入力としています 6 4月1日 F 300 7 3月1日 G 100 8 4月1日 H 200 9 3月1日 I 200 10 4月1日 J 100 上記シート1の表のC列を下記シート2のC列に条件集計する シート2 A B C 1 3月1日 A~E 500 *選択した日付ごと及びA・B・C・D・Eの集計 2 3月1日 F~J 300 *選択した日付ごと及びF・G・H・I・Jの集計 3 4月1日 A~E 400 *選択した日付ごと及びA・B・C・D・Eの集計 4 4月1日 F~J 600 *選択した日付ごと及びF・G・H・I・Jの集計 すいませんが上記コードを教えてください 困ってます よろしくお願いします
- ベストアンサー
- その他([技術者向] コンピューター)
- エクセルVBAによる、行の整理
始めまして、よろしくお願いします。 シート1とシート2に次のようになっています。 シート1 A B C 1 2 ・ 99 100 9 101 5 102 3 103 7 104 105 ・ ・ シート2 A B C 1 2 ・ 99 100 9 3 4 ・・・・ 101 5 3 2 ・・・・ 102 3 1 0 ・・・・ 103 7 5 3 ・・・・ 104 105 106 9 ・・ 107 5 ・・ 108 3 ・・ 109 7 ・・ 110 111 9 ・・ 112 5 ・・ 113 3 ・・ 114 7 ・・ 115 116 ・ ・ ・ ・ シート1、シート2のA列にはデーター銘の番号が。シート2のB、C、D・・・列にはデーターが入っています。シート1のA列データー銘の番号の追加(データー銘番号1)、順番を変え、マクロを実行すると シート1 A B C 1 2 ・ 99 100 3 101 7 102 1 103 9 104 105 ・ ・ シート2 A B C 1 2 ・ 99 100 3 1 0 ・・・・ 101 7 5 3 ・・・・ 102 1 103 9 3 4 ・・・・ 104 105 106 3 ・・ 107 7 ・・ 108 1 109 9 ・・ 110 111 3 ・・ 112 7 ・・ 113 1 114 9 ・・ 115 116 ・ ・ ・ ・ シート2の(100-103、106-109,111-114の3グループ)行ごとデーターすべてが、シート1A列のデーター銘番号順に整理したいと思います。実際は整理されるデーター銘番号や、行ごと(ここでは整理される100-103、106-109,111-114の3グループですが)の数はかなり多くなります。シート1で削除されたデーター銘番号は、シート2ではデーターすべてが削除されます。(ここではデーター銘番号5がそうです) 解る方、できる方、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 質問:VBAでデータを転記したい
ExcelのVBAで給与支払管理表と源泉徴収表作成用のとりまとめシートを作っております。で、この2表の間でデータをやりとりしたいのです。 表の関係は以下の通りです。それぞれの項目を、仮に(A-a)(A表のaという項目)というように表記します。 【支払内訳表】(仮にA表) A4に氏名(A-a) B4に日額(A-b) C4に勤務日数(A-c) D4に税引き前支給額(A-d) E4に税額(A-e) F4に交通費(A-f) G4に税引き後支給額(A-g) A2に支払件名(cf.例えば営業課など)(A-h-a) e2に何月分かの情報(A-h-e) を入れています。 【支払額個人管理表】(仮にB表) A列に税引き前支給額(B-d) B列に税額(B-e) C列に税引き後支給額(B-g) D列に交通費(B-f) E列に支払内容(B-h) を入れています。 この二つにおいて、A表を開いたときに、 1)(A-a)の文字列で、B表の該当のシートを検索(シートに支払対象者の名前をつけています) 2)(A-d)を(B-d)に転記 3)(A-e)を(B-e)に転記 4)(A-f)を(B-f)に転記 5)(A-g)を(B-g)に転記 6)(A-h-a)と(A-h-e)の文字列を統合して、(B-h)に入れる。 (ただし、(A-h-a)と(A-h-e)の間には、半角スペースを設ける) という作業をさせたいのです。また、A表はいくつもあるのですが、B表は一つだけですので、データが入っている行の下にA表のデータが自動的に入るように設定したいのです。(End(xlUp).でも使うのでしょうか) 複雑で申しわけございません。 ご教授頂けましたら幸いです。
- ベストアンサー
- オフィス系ソフト
- エクセルVBA/抽出・貼付け
下記を行いたいのですが、どのようなコードになるのでしょうか? シート001(入力用) (1)A1~A50、B1~B50、C1~C50、D1~D50 に数値、E1~E50に文字列 (2)F1~F50、G1~G50、H1~H50、I1~I50 に数値、J1~J50に文字列 ※空白行混在 シート002(計算用) シート001に作ったコマンドボタン:クリックにより、 シート002を表示させ、A1~E100に、 シート(1)のA1~E50とF1~J50の空白行以外を連続して 反映させたい。並べ替え用など別シートを用いずに、 VBAコード内で処理したい。
- ベストアンサー
- オフィス系ソフト