スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- : スポンサー広告 :

指定した日付のシフト表を自動で作成する。

すぐわかるExcelマクロ& VBA』p96より抜粋。

Sub シフト表作成()
Dim org As Integer
Dim dst As Integer
Dim i As Integer


'該当する日付のシフトをコピー
Worksheets("週シフト表").Activate
Range("C4:I4").Find(What:=Worksheets("日別").Range("C3").Value, _
LookAt:=xlWhole).Select
Range(ActiveCell.Offset(2), ActiveCell.Offset(6)) _
.Copy Destination:=Worksheets("日別").Range("C6")
Worksheets("日別").Activate


'シフトの矢印線を描画
For i = 6 To 10
If Range("C" & i).Value <> "休み" Then
org = Application.WorksheetFunction.VLookup( _
Worksheets("日別").Range("C" & i), _
Worksheets("シフトマスタ").Range("B4:D6"), 2, False)
dst = Application.WorksheetFunction.VLookup( _
Worksheets("日別").Range("C" & i), _
Worksheets("シフトマスタ").Range("B4:D6"), 3, False)


With ActiveSheet.Shapes.AddLine(Cells(i, org - 5).Left, _
Cells(i, org - 5).Top + 7, Cells(i, dst - 4).Left, _
Cells(i, dst - 4).Top + 7).Line
.EndArrowheadStyle = msoArrowheadStealth
.ForeColor.SchemeColor = 53
.Weight = 2.25
End With

End If
Next
End Sub
すぐわかるExcelマクロ& VBA p96


以下、わたし流の翻訳です汗。
宣言!
「org(整数)」という変数(入れ物)を準備。
「dst(整数)」という変数(入れ物)を準備。
「i(整数)」という変数(入れ物)を準備。


該当する日付のシフトをコピー
「週シフト表」のシートを選択する。
「週シフト表」シートのC4~I4の中から、「日別」シートのC3のセルの内容と完全に一致するものを探して、そのセルを選択する。
上記で選択したセルの2行下~6行下をコピーして、「日別」シートのC6を基点にして、貼り付ける。
「日別」シートを選択する。


シフトの矢印線を描画
FoeからNextの間、iが6から10になるまで繰り返す。
「日別」シートのC6のセルが休みでなければ以下の行動を実行する。※<>は等しくないを指す。
「日別」シートのC6のセル内容と「シフトマスタ」シートのB4~B6列が同じであれば、「シフトマスタ」シートのC4~C6列の該当する箇所を変数orgに入れる。
「日別」シートのC6のセル内容と「シフトマスタ」シートのB4~B6列が同じであれば、「シフトマスタ」シートのD4~D6列の該当する箇所を変数dstに入れる。


 【メモ】
 ※Shaps → オートシェイプを操作する
 ※AddLine → オートシェイプの線を引く

 ※うーん、ここにくるとC6で考えるのは難しくなったので、C7列で考えます汗。
「日別」シートC7列には「遅番」が入っていると前提。
7行目(変数i)・8列目(org=13-5)のセル=日別シートのH7セルの左側から → 7行目(変数i)・17列目のセルH17列のセルの左側まで線を引く。
その線は鋭い矢印を持っている。
線の色はオレンジ色に指定する。
線の太さを2・25に指定する


以下略~





これを解読するのに3時間ほどかかっております汗。まぁ、平行してこのブログもちまちまと書いているからですが・・・。あと、何度も何度も振り返っているせいもあるかもしれません。

ぱっと見た瞬間になんとなく意味が分かるのですが、こうやって文章に起こすことでよりじっくりと考えるきっかけを与えられた気分になります。あ、ちなみに必ずしも正しいとは保証しませんから~明らかな間違いがありましたらご指摘くださいまし。

このソースそのものにはそれほど心ひかれるものはないのですが、検索と置換えタブがこんな風にVBAで記述されるのか!と感動しました。

検索と置換え

それにしても、ジタバタと考えている中で、ひらめきがあると脳が喜びますね~笑。これがいわゆる「アハ体験」なのでしょうか!?


参考文献 『すぐわかるExcelマクロ& VBA
すぐわかる、と書かれていますが、初心者にはすぐ分かりません(涙)。じっくりと考える必要があります~。


【snowhwite運営ブログ】
わたしの日常
ゆるゆると美人になりたい!


2012-03-17 : 3月のお勉強。 : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

プロフィール

アラフォー主婦、snowwhiteです。
ここではVBAに四苦八苦する記録を綴っていこうと思います。
ジタバタあがくだけで決して誰の参考にもならないと思いますが・・・汗
そう、ここは単なるsnowwhiteのVBA勉強記録であり、必ずしも正しいとは保証できません!
間違っておりましたら、こそっとお知らせください。
どうぞ宜しくお願いします。

snowwhiteはこんな人。→はじめに。

ランキングに参戦しています☆
 にほんブログ村 主婦日記ブログ 勉強している主婦へ
にほんブログ村 

【snowwhite運営ブログ】
主婦のウダウダ日記 わたしの日常
主婦の美容日記 ゆるゆると美人になりたい!

since 2012/03/09

「ケイコとマナブ.net」約80,000件の講座・レッスン情報満載! 

VBAエキスパートとは。

Excel・Accessのマクロ・VBAのスキルを証明する資格。
ExcelやAccessなどのアプリケーションに、指示した通りの処理を実行させる機能をマクロといいます。
VBAは、マクロにExcelやAccessへの指示を記述するための言語で、Visual Basicをベースに、マイクロソフト オフィス製品用に開発されたプログラミング言語です。
VBAを使うことで、ExcelやAccessを自在に制御することが可能になるので、ルーティンワークの自動化や大量データの一括処理、または業務システムの開発など、企業内で多岐にわたって活用されています。
引用元 http://vbae.odyssey-com.co.jp/about/

収支記録。

主婦ですもの。
VBAエキスパートスタンダート資格を取得するまでの収支をチマチマと記録したいと思います。お願い、神様。あんまり出費がかさみませんように・・・汗
>> 収支記録

2012/03/20現在 8,270円の出費

月別アーカイブ

最新コメント

訪問者数。


検索フォーム



VBA用語は正しく読みましょう。

VBA用語集
http://vbae.odyssey-com.co.jp/study/glossary.html
カタカナで読み方が表記されています。

QRコード

QR

VBA関連本。

我が家にあるのは2003まで対応の本ですが・・・分厚さにびびります


図書館で借りてきました。ビジュアル的~。


前回、勉強したときに挫折した本・・・改めて読むとよくまとまっております
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。