- ベストアンサー
VBAでExcelのシフト表を作成する方法
tom04の回答
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! Sheet1とSheet2の列の日付は一致しているのですね? 今回の質問に関して、わざわざVBAでなくても関数の方が簡単だと思います。 一例です。 同じ日に「役割」の重複はない!という前提です。 ↓の画像でSheet2のB2セルに =IF(COUNTIF(Sheet1!B$2:B$15,$A2),INDEX(Sheet1!$A$2:$A$15,MATCH($A2,Sheet1!B$2:B$15,0)),"") という数式を入れ、列・行方向にフィルハンドルでコピー! これで画像のような感じになります。m(_ _)m
関連するQ&A
- EXCEL VBA構文について
EXCEL初心者です、退職された人が作成した関数を利用しているのですが、関数をデリートを押し消してしまう人がいて困っています。これは記号で入力したシフト表から1日~月末の日当たりの仕事別担当は誰かを検索して表を作成しているものです。この関数をVBAで作成したいのですが挑戦しているのですが出来ず困っています、置き換えの構文又はヒントを教えていただきたく宜しくお願いいたします。合わせて記号の意味をお願いいたします。 =IF(ISERROR(INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0))),"",INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0))) 今使用している関数です、sheet3にはA列に10人程度の名前、横の列には1日から月末まで7つ程度の記号が入っています。置き換えSheetにはB列に記号、横列に1日から月末ですここに名前が入るようにしたい。 お願いは 1.この関数からVBAの構文にするにはどうすればよいか 2.&"/"&の意味、Sheet3!B:B,0の最後の0の意味、,"",の意味を教えてください 作文が下手ですいません、無理なお願いですいません。
- 締切済み
- Excel(エクセル)
- VBAで作成したいのですがご伝授お願いします
困っております何卒宜しくお願いします。 シフト表をEXCELで作成しています。列に担当者と日付、行は二段で上段は午前、下段には午後で役割別に記号が入ります、この表から日毎の実績表を作成しています、行は二段なのでセルを結合し、解除して上段にまとめ他のシートにコピーしてあります。 そこで、お願いです、今はマクロ(たぶん)で展開していますがセルに構文が入っているため他の人が消してしうことがしばしばなのでVBA構文に直したいのです。 =IF(OR($A3="",B$1=2),"",IF(Sheet2!B3="","",Sheet2!B3&"/"&COUNTIF(Sheet2!B$3:B3,Sheet2!B3)))これは上段にまとめたシートから置き換える構文です。 この構文で出来たシートから日毎のシートを作成するのに =IF(ISERROR(INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0))),"",INDEX(Sheet3!$A:$A,MATCH($B6&"/"&COUNTIF($B$6:$B6,$B6),Sheet3!B:B,0)))を使っています。 この構文もお願いして使っているものであります。ワークシート関数でチャレンジしていますがうまくできません宜しくお願いいたします。
- 締切済み
- Windows Vista
- エクセルVBAの構文を教えてください。
こんばんは。マクロ初心者です。 VBAの構文を教えてください。 ■シート(1)には項目が50ある5年分(60ヶ月)の市場統計データーがあります。50個ある項目名はB列にありDセル2008年1月からBKセル2012年12月まで横に60ヶ月分のデーターを入力しています。 ■シート(2)には50の項目名のデータがあります。項目名はB列にあります。 ■シート(3)にはコンボボックスを作成し、コンボボックスの下に表を作成しました。 シート(3)のコンボボックスの50ある項目から▼ボタンで項目を選びコマンドボタンを押すと シート(3)の下記のセル範囲でシート(1)のデーターを参照させたいのです。 B8セルからM8セルまで(2008年度12か月分のデータ) B11セルからM11セルまで(2009年度12か月分のデータ) B14セルからM14セルまで(2010年度12か月分のデータ) B17セルからM17セルまで(2011年度12か月分のデータ) B20セルからM20セルまで(2012年度12か月分のデータ) コンボボックスは設定できたのですが、構文がうまくできないため参照できていません。 エクセルVBAに詳しい方、どうぞご教授ください。よろしくお願い致します。
- ベストアンサー
- Visual Basic
- VBAの構文をお願いします Excelです
宜しくお願いいたします。 Rigth関数をVBAで行うときの構文教えてください。 Sheet1のA1セルに123456があります、Sheet2のA1セルに右から2つすなわち56をコピーするにはどのように構文すればよいのですか。Lefe、Midもこれが分かればできると思います。
- ベストアンサー
- Excel(エクセル)
- 【エクセルVBA】条件に一致した項目の数を別シートへ表示
はじめまして。VBA初心者です。 sheet1のA列に日付(一ヶ月分)、B列に製品名 sheet2のB2セル~AF1セルに日付、A2セル~A10セルに製品名 が入っています。 Sheet1の製品名の数を日付ごとにカウントして、その結果をSheet2の 各日付へ入力するVBAを作成したいのですが、うまくいきません。 分かり難い質問で、大変申し訳ありませんが、どなたか教えて下さい。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBA 別シートの計算表
Excelについて。 シートAに、計算表があります。 セルa1に入力した値によって、いくつかのExcel関数を利用して、 セルb1に結果を出力しています。 いつも、手入力でセルa1に値を入力して結果を求めていますが。 今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。 今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。 シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか? 計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。 よろしくお願いします。 ・計算表での計算時間は、1秒未満です。 ・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。 ・その他、アドバイスなどいただければ幸いです。 よろしくお願いします。 Excel2010
- ベストアンサー
- Excel(エクセル)
- 【VBA】マクロについて
【VBA】マクロについて質問です。 マクロで複数のシートの特定のセル(A5(日付)、A7(社名)、B3(担当者)など)を別ブックのひとつのシートにまとめて、 日付 社名 担当者 シート1 A5 A7 B3 シート2 A5 A7 B3 シート3 A5 A7 B3 のように下へ下へ積み上げていくにはどうゆうマクロを組めばいいでしょうか。 同じ作業を複数のファイルで行わなければいけないため、マクロを組みたいのですが、よくわかりません>< ファイルによってシートの数が違うので、それにも対応すると有難いです。 どうぞよろしくお願いいたします。
- 締切済み
- Visual Basic
- GAS(Googleスプレッドシート)について
お世話になります。 今回は下記の内容について宜しくお願い致します。 シートAの表にシートBのデータを入れ込みたい時の構文が分かりません。 (そもそも理解していないのが問題ではあるのですが。。) また、代入された値(シートAに代入されたシートBの値)を 「選んだシートBの列に上書きしたい」です。 1.シートBはレコードでデータを保持 2.シートBの選んだレコード行のデータをシートAの所定の場所に代入 例)シートBのA@セルのデータはシートAのB2 シートBのB@セルのデータはシートAのH5 など。 シートAは表になっているので、シートBのデータはシートAの所定の セルに代入。(場所は不変です) 3.シートAに代入された値に変更を加えた場合、シートBの選んだレコード位置 に上書きで代入をしたい。(入れ込みたい) 以上です。 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- EXCELのDATAを抽出して日別の表を作る式は
最近は自分で表などを作る機会が少ない高齢者ですが、 目的は、Office2013 EXCELで AH2セルに、1日,鹿児島,山口,広島 AH3セルに2日熊本,大分,長崎 という文字列をそれぞれ一つのセル(AH2セルからAH32)に書き出したいのです、 EXCELの表の1行目にB列からAF列まで1から31までの一ヶ月の日付を書き入れ、 A列の2行(A2セル)から21行(A21セル)に氏名を書き入れている表の、 DATAとして、 B2セルからAF21セルの、不特定のセルの★や☆の記号を、 一番目に、 B2~B21のなか(仮にB3セル)に ★☆の記号が有ったら、 その行の該当氏名(鹿児島(A3セル))をWORD文字列に、書き出し、 二番目に、 B2~B21のなか(仮にB5セル)に ★☆の記号が有ると、 その行の該当氏名(山口(A5セル))をWORD文字列に、書き出すことを、 一ヶ月すべての日付(B1セルからAF1セルに該当)の★☆がある列 (B2セルからAF21セルのすべて)から抽出して、 AH2セルからAH32セルに書きだす 式 / 関数のご指導お願いいたします。
- ベストアンサー
- Excel(エクセル)
- Excel2007で他のシートを参照して自動で表を作成したいと思ってい
Excel2007で他のシートを参照して自動で表を作成したいと思っています。 Sheet1には下記のようなシフトを作成しています。 A B C D E F 1 1日 2日 3日 4日 5日 2 Aさん 1 2 1 4 1 3 Bさん 2 休 4 1 4 4 Cさん 1 4 2 1 1 5 Dさん 4 1 1 2 2 Sheet2からはシート名が1日 2日となっています。 それぞれのシート毎にその日付のシフトを並び替えて作成したいと思っています。 【1日のシフト(Sheet2)】 1 Aさん 1 Cさん 2 Bさん 4 Dさん 【2日のシフト(Sheet3)】 1 Bさん 2 Aさん 4 Cさん 休みのスタッフは表示しないように作成したいと思っています。 エクセルでこの様な作業は可能でしょうか。
- ベストアンサー
- その他MS Office製品