• ベストアンサー

日報に自動で矢印線をひきたい

会社で部署内の人(約10人)がその日に何をやったかといった日報をエクセルで作っています。タイムテーブル(縦列に名前、横列に8時~22時までの30分間隔で作ってあります)に矢印を引っ張って、その上にどのような仕事をしたのかを入力していくのですが、勤務がシフト制のため、9時出社、11時出社、13時出社といった具合にバラバラで、矢印を引っ張るのに苦労しています。 そこで、名前の横のセルに9と入力しただけで9時~18時の時間帯に、また11と入力しただけで11時~20時の時間帯に自動で矢印線が作成できるソフトかマクロをさがしています。 どなたか教えてください。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

詳細が分からないので A列に名前、B列に9か11の入力、C列~AE列に時間(8時~22時までの30分間隔)としています 'シートモジュールへコピペ Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("b:b")) Is Nothing Then Exit Sub Dim s_lef, e_lef Dim s_wid, e_wid Dim s_str, e_end Dim se_hei se_hei = Target.Top + Target.Height * 0.7 If Target = 9 Then s_lef = Target.Offset(0, 3).Left s_wid = Target.Offset(0, 3).Width e_lef = Target.Offset(0, 21).Left e_wid = Target.Offset(0, 21).Width ElseIf Target = 11 Then s_lef = Target.Offset(0, 11).Left s_wid = Target.Offset(0, 11).Width e_lef = Target.Offset(0, 25).Left e_wid = Target.Offset(0, 25).Width Else Exit Sub End If s_str = s_lef + s_wid / 2 e_end = e_lef + e_wid / 2 ActiveSheet.Shapes.AddLine(s_str, se_hei, e_end, se_hei).Select With Selection.ShapeRange.Line .BeginArrowheadStyle = msoArrowheadOpen .EndArrowheadStyle = msoArrowheadOpen .BeginArrowheadWidth = msoArrowheadWidthMedium .BeginArrowheadLength = msoArrowheadLengthMedium .EndArrowheadWidth = msoArrowheadWidthMedium .EndArrowheadLength = msoArrowheadLengthMedium .Visible = msoTrue End With End Sub エラー処理はしていません アレンジはご自分でしてください

ieoao
質問者

お礼

ずばりストライクといった回答です。ありがとうございました。ほんとに感謝しています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルについて

    エクセルで表を作成するとき 数字を縦列(もしくは横列)に1から順番に 入力したい場合に枠の角に矢印を合わせて 縦方向(もしくは横方向)にひっぱると 123・・・といく場合と 111・・・といく場合がありますよね? どこで設定するんですか?

  • 社内で日報が私だけ違う・・・

    昨年4月に入社しました。 (入社時に雇用契約書を持参し記入していただくようにお願いしたのですが書いてはくれない) うちはタイムカードがなく日報への申告になります。 昨年、10月頃から残業が多くなり、日報(残業欄に時間)にの記入をしていました。 50時間残業したのですが、ついたのは25時間だったので、事務長に確認に行きました。 するとこのように言われました。 ”現場により片道1時間圏内は往復で1時間しかつけない、勝手に30分単位でつけているようですが、うちは10分単位です。大企業みたいなこと中小企業に言わないで”と言われました。 ”私は大げさに残業書いているわけではありません。6:50なら6:30で書いていました。働いた分くらいはちゃんとしてください”と言ってから 他の方には日報に”残業”と書いてある欄が、私の日報の分だけわざわざ作り直して”会社記入”と書かれこれみよがしに蛍光ペンまでつけて置いてあります。 最近は私のデスクに色々と私には関係のない郵送された封筒や鉛筆削りなど物を置かれだしました。 事務長さんが部屋から通路に出たところ、たまたま同じ通路を私が通るとに部屋に引っ込んだりしてやりすごしてから出てくるなど、残業もまともに払ってくれないのになぜ一度言っただけでここまでされないといけないのでしょうか? どうしたらいいでしょうか?どこか相談できる公的部署など教えてください。 以前は精神的にそうでもなかったのですが、最近机に物を置かれるなどが多くなり、だんだん精神的に参ってきました。嫌がらせされた証拠はこつこつと撮っております。 仕事の内容は好きでずっとやって行きたいのですが、社内に帰ってくるのが憂鬱になりました。

  • エクセルで工事日報にマクロを組みたい。

    エクセルのマクロについて質問です。したい事はイメージ出来るのですが いかんせん、マクロに組む技量がありません。 お手数ですが、解る方、是非、教えて下さい。 まず、工事日報を作っています。 シート構成は「データ」「1週」「2週」「3週」~「16週」となっていて、最初のシートには初期入力するシートがあります。それ以降のシートには、一日分の作業内容がA4サイズで横に7日分並んでいるシート構成です。 マクロに組みたい操作なのですが、まずシートを開くと、その日の頁が開くようにしたいのです。 今日の日付を取得して、その日に対応したシートの所定のセルをアクティブにしたらいいとは解るのですが、それをマクロに組みたいのです。「データ」シートには、それぞれ、一日目から最終日まで、それぞれそのシートの左上のセルの番地は列記してあります。 また、工種ごとに当日の作業人員を入力すると、その横のセルに自動的に「データ」シートに記入されている 「作業開始時間」と「作業終了時間」をマクロで入れたいのです。if分で当日人員を入力すると、表示されるようにしてもいいのですが、時間を変更する可能性があるのです。しかし、ほとんどの業種は時間がほぼ固定なので、手間を省きたいのです。このマクロを全ての工種(41個あります)について、設定したいのです。 あと、天気をさかのぼって入力する時が多々あるのですが、Yahooとかの過去の天気から自動で天気と最高気温、最低気温を取得して、取り込みたいのですが、WEBクエリを自動で簡単にできないでしょうか? 3個まとめて質問させて貰っていますが、よろしくお願いします

  • Access で作業日報

    いつもお世話になります。 OS:Windows 7 Access 2007 このコーナーで作業日報の時間計算について質問させていただきました。 教えていただいたのは、クエリで関数に入れて、フォームを作成すれば、うまく時間が表示されましたが新規入力ができませんでした。 今回はVBAでした方がいけるのではないでしょうかと思いましたがコードの書き方が分からなくて助けてもらいたいです。 フォームに名前・開始時間・完了時間・休憩時間・勤務時間・残業時間・工数とそれぞれテキストボックスがあります。 勤務時間=開始時間-完了時間        8:00  -  17:00 =8時間 休憩時間 = 12時~13時 残業時間=17:00以降 工数は8時間=1工=勤務時間 開始時間と完了時間を入力したら、勤務時間は8時間で残りは残業時間を自動的計算できようにしたいです。 よろしくお願い致します。

  • エクセルについて質問です。

    自分は2003を使用しています。 「シフト表」と「日報」の二つのエクセルの保存ファイルがあります。 そこで、 VlookUpを使用し、シフト表の例えば 1 .田中 08:00 17:00 を日報に反映させます。 そこで日報には 1を入力すれば、 田中 08:00 17:00 と出てきます。 これは、名前 出勤時間 退社時間を表しています。 そこでこの日報の退社時間に残業の時間を加えたいのです。 セルを増やせばできそうなのですが、そのまま退社時間のセルに残業時間を加えた時間を表示させたいのです。 もし、A1    B1    C1   D1(残業時間)    田中  08:00  17:00  3:00 これを  田中  08:00  20:00   3:00 とさせたいのです。 日報の20:00の欄にはvlookupの関数がつけられているのでやはり時間を変更させることはできないでしょうか。 うまく伝わらなかったらすみません。 もしよろしければ教えてください。

  • エクセルで「ファイル保存名」を自動作成したい

    エクセルで、複数の店舗で使用する「販売日報」を作成しております。 各店舗からいただくこの日報は別のシステムで取り込みを行う為、 ファイル名を統一する必要があり、店舗側で勝手にファイル名を作成 できないように、例えば、日報のエクセルのシート内に「ファイル保存」 ボタンを作成し、ファイル名を自動作成するマクロを登録したいと思って おりますが、マクロはほとんど分からず、いいアイデアが浮かびません。 どなたかお知恵をお貸しいただけないでしょうか? ■ファイル名は、下記のように「販売日報」を先頭にして店舗名_保存日_ 保存時間の体裁を考えてます。  ファイル名:販売日報_(店舗名)_(日付)_(時間)   ※(店舗名)は販売日報(エクセル)内で「A1セル」など固定した    場所に入力されており、その値を参照したい。   ※「日付」「時間」も自動作成したい。 うまくお伝えすることができませんが、イメージとしては「ファイル保存」 ボタンを押すと、エクセルで左上の「ファイル」-「名前を付けて保存」 を押した際に表示される「保存先を選択する画面」が表示され、ファイル名 には、『販売日報_(店舗名)_(日付)_(時間)』が既に表示されている、 といった具合です。 いろいろネットを介し調べましたが、ぴったりのものがなく悩んでおりました。 何卒宜しくお願いいたします。

  • excelで日報を作りたい!別シートに計算結果を出す集計方法について。

    関数初心者です。日報をexcelで作りたいと考えているのですが、うまく集計ができず困っています。どなたかお助けください。 A,Bという2つのシートがあるとします。 Aのシートには横列に日付、お客様名、担当、コース代金、税金、税抜合計、合計金額、支払い方法・・・・といった項目がならんでいます。 お客様がきたらどんどん下にかきこんでいく形です。 また支払い方法という項目には、入力規則で現金、売掛、カードと 選べるようにしてあります。コース代金のところはvlookupをつかっていてコース名を選ぶと金額がはいって計算できるようになっています。 シートBには横列に日にち、縦列には、現金売計 カード売計 売掛計 税合計 本日総売上 という項目があります。 シートAで選んだ支払方法の項目ごとにシートBに自動的に合計をいれて、いきたいのです。たとえばカードを選んで合計がでたら一日の終わりにBシートで支払い方法ごとの合計、税合計、本日売上 を計算できる式をいれたいのです。 集計機能でシートAにそのまま合計をだしていこうかとおもったのですが、ここには30日分はいるのであまり煩雑になってもいやだし、シートBにSumproductをつかってみたのですが、やりかたがまずいのかうまくいきません。。ここには何をいれるというのをどなたかわかりやすくおしえていただけるとうれしいです。また、日計でこういうやり方があるというのがあればおしえてください。 どうぞよろしくおねがいします

  • エクセルでの日報、顧客、売掛管理など

    エクセル初心者です。 なかなかいろんな検索をかけてもうまく理解できず応用することも難しかったので、もし具体的に教えていただける方がいたらよろしくお願いします。 業務内容は高級クラブです。 その毎日の売り上げ日報から顧客情報管理や売掛の管理、請求にいたるまでの仕事を任されています。 こういう業種の方々はいまだにアナログで、何から何まで手書きです。 それを少しずつエクセルなどで管理できるようにしていきたいと質問させていただきました。 まず日々の日報から未収のお客様の抽出、リストアップされた表があります。  そこに書かれたお客様の名前を、エクセルに打ち込んだ住所録から抽出し、宛名を封筒に印刷したいのです。 その時簡単なマクロなどでできますか?初心者では難しい技術でしょうか? お教えください。 よろしくお願いします。

  • Excel2007、印刷時に図形がずれる

    Windows VistaでExcel2007を使い、シフト表を作成しました。 縦にスタッフ約400人の名前を並べ、横列で時刻をあらわし、労働時間を図形の矢印(→)で示しました。 編集画面上では問題なかったのですが、いざ印刷すると、少しずつ矢印がずれてしまうのです。 ずれ幅は、スタッフ200人目あたりから矢印が一行分ぐらい。 300人目あたりでは2行分ほど、ずれます。 印刷プレビュー画面ですでにずれています。 ずれを直そうと思うのですが、編集画面上では問題がないので、印刷状態を想像しながらの微調整は骨が折れます。 何かよい方法があれば教えてください。 よろしくお願いします。

  • EXCELの横列を挿入しながら縦列に並べ替え

    エクセルで横列に入力されている「サイズデータ」を基準になる品番毎に 縦列に並べたいのですが、その際品番をコピーして挿入のように入れたいのですが、可能でしょうか? さらに問題は品番毎にカラーが付いているのですが、それが同じ数ずつ ではないこと、またサイズレンジもSMLや28、29など種類があります。 (添付をご参考にされてください。) コピーして挿入していましたが、データが非常に多いので難儀しております。いくつかの数式を組み合わせれば可能なのでしょうか。 関数もいくつかしか使えず、マクロなどは使ったことがないレベルなので 大変恐縮なのですが、お教え頂けますでしょうか。