オートシェイプの「丸」を使って、セルの値に応じて自動で囲むには?(VBA) | “とくとら” の へこたれ 日記

“とくとら” の へこたれ 日記

壁にぶつかると自分を責め、嘆き悲しんでしまう。
事実へ正直から向き合うことができればきっと道が開けるはずなのだが・・・
今日のわたしは“へこたれる人”VS“へこたれない人”どっち?

何かと、申請書類を作ることがおっくうになってきている

 とくとら です。 


福祉・介護 ランキング
  



やっぱり楽が一番、そこで、以前から気になっていた、excelのオートシェイプを使った、便利機能を作成しました。


やりたいことは、福岡市指定!の介護保険更新申請書(代行)を手書きではなくで、施設のデータベースから作成する方法について考えてみました。

※当施設のシステムにそういった機能があるが使えないみたいなので・・・

(システム化の理由)

・手書きは間違えるとやり直しになる。
・字が汚いと自分が許せなくなるし認めたくない気分になる(本当は綺麗に書けるのに忙しいから書けないと正当化する自分が嫌)
・台帳を更新すれば、後はIDを記入して印刷すれば済むはず。
・誤記入防止。
・楽をするため(空いた時間は、自分に使う)←本命


といった、私のめんどくさがり屋が、楽をするために自分の時間をそれに投資することにした。


(そして、肝心の費用対効果は・・・)

・月末に介護認定期間が切れる人の絞り込み作業:20秒
・IDを指定用紙に差し込む作業:1人 1~2秒

※日々の台帳更新はいろんな仕事が共有しているのでその費用対効果から除外
※稟議書作成や台帳の確認や保険証の準備があるが、それ自体は、今回のプログラム作成とは関係ないので除外。

逝ける!!

 手書き自体に時間がかかる とくとら としては、絶対にやる価値あることが、分かった(パソコンにかなうわけないが・・)


ということで、↓のコードをベースに

'指定セルに丸オブジェクトを表示させるコード
Sub 丸図_要介1()
    Dim myShp As Shape
    With ActiveSheet.Range("K23:K23")
        Set myShp = ActiveSheet.Shapes.AddShape _
        (Type:=msoShapeFlowchartConnector, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
        
        With myShp
            .Name = "要介1"
            .Line.ForeColor.SchemeColor = 0 '黒
            .Line.Weight = 1.25 '線の太さ
            .Fill.ForeColor.RGB = RGB(255, 0, 0)
            .Fill.Transparency = 1 '透過
        End With
    End With
    Set myShp = Nothing
End Sub


そんでもって


   If ~ Then 
   ~
    ElseIf

 構文で、条件設定を振り替えて設定


そして、フォームを設置して完成。


仕様は・・・色々ありますが、今回の目玉はコレ↓

値に応じて、指定したセルに「オートシェイプで丸を囲む。

※今までは、手作業で、丸を動かしていたがマクロを組むことで、自動的にそのオートシェイプを該当する要介護度が記入されたセルに表示させることが可能となった。
※イメージとしては

、申請書の要介護度記入欄の中を 入所者の要介護度に連動してオートシェイプが、自動で行ったり来たりする。

 見ていてかわいいですよ~丸が、行ったり来たりと動き回っている


 これでOK



誠にお手数ですが・・・
お願いします。 
1日1クリック 
↓↓  ↓↓ 
福祉・介護 ランキング