メシのタネ

Webプログラミング 備忘録

  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む
  • 普通の会社で2年普通に働いて思う事

    えらい寒くなりました。文句言いながらも現職を続けて2017年12月1日にめでたく2年がたちました。分かりやすいが乱暴に言えばITドカタと呼ばれる業界に入って案件のヒエラルキーの無慈悲さを痛感しながらも、それでもしょうがないと頑張る人たちに心を打たれながら「じゃあ俺も」と頑張れない自分に挫折して、とあ[...]

    続きを読む
  • jQueryUiのDatepicker利用時にminDate設定するとバグる件

    題名の通りなんですが、DatepickerでminDate使うとバグります。また後でキャプチャ見て貰いますけど、灰色の部分が、minDateで設定した日付が反復して出るようになるんですね。こういうの気が付かない人がいるかも知れませんが、ChoromeでminDate設定してる人は気にしてみてくだ[...]

    続きを読む

【Excel2013 VBA】マクロを作ってみる

PP_gear-a_12

あんまりExcelに細かい事を求めないのであれば
特にマクロなんて使う必要がないのですけど、
ある期間からある期間のデータをなんかしたいときとか
ループしないといけないとかなると、
Excelの関数だけで手が回らなくなるので
マクロ使えたら便利ですよね。

たまに自分は使ったりするので、
もし勉強したい人が居たらと思って書きました。

とりあえず入門してみましょう。

セルに名前をつける

別につけたくなきゃつけなくても良いんですけど、
付けといた方が楽になるので私はつけます。

excelnomacro1

名前の付け方はこんな感じです。
黒丸したとこを表示したいセルでクリックすると、
文字が入力できるので適当に名前をつけます。

開発タブを開く

あんまりエクセル触ってない人は相手にしたくないタブですが、
今回は思い切って開きましょう。

そうすると一番右にVisual Basicってとこがあるので
それをクリックします。

VBAが立ち上がります。画面左側に、プロジェクトの
エクスプローラ的なのがあるので、それのExcelの形したのクリックします。

excelnomacro2

名前付けたセルに文字を表示

多分まだ真っ白だと思うので
真っ白なとこに、適当な文字を表示させるプログラムを書きます。

</p>
<p>Sub moji()</p>
<p>Dim moji As String</p>
<p>moji = &quot;hello&quot;<br />
Range(&quot;さっきつけた名前&quot;).Value = moji</p>
<p>End Sub</p>
<p>

これを書いてから開発タブのマクロを選んで実行を押します。

excelnomacro3

文字が表示されました!

指定日から今日まで何ヶ月を調べる

このままだと前回同様、味も素っ気もないので、とりあえずサンプルとして
日付の役に立ちそうなサンプル書いておきます。

</p>
<p>Sub d()</p>
<p>Dim start As Date<br />
Dim goal As Date<br />
Dim differents As Integer</p>
<p>start = &quot;2014,4,1&quot;<br />
goal = Date</p>
<p>differents = DateDiff(&quot;M&quot;, start, goal)</p>
<p>Range(&quot;mogerinko&quot;).Value = differents</p>
<p>End Sub</p>
<p>

こうやって書くと4月1日から今日まで何ヶ月か図るのが簡単です。
この差をループさせたりすれば指定期間の間に計算が出来てとても便利ですよね。

デバッグの方法

F8を押すと1行1行プログラムを追っていきます。
debug.print = 変数
って書いておくてイミディエイトウィンドウに変数の中身が表示されるので
デバッグが楽です。イミディエイトウィンドウの出し方は、Ctrl+Gで出せます。
F5を押すと結果だけイミディエイトウィンドウに出力します。

excelnomacro4

とりあえずこれがF5を押した例です。

構文とか型チェックとか普段使う奴は大体あるので、
気が向いたら何か作ってみてはいかがでしょうか。

偶数の計算が(i mod 2)=0とか除算余りの使い方が知らない感じだったり
if 式 thenだったり、加算代入が無かったり?しますけど、他のMS系の奴に比べて
自分が何をどうしてるのか分かった上でコード書かせてくれるので随分とっつきやすいと思います。

関連記事

コメントをお待ちしております