Jose's FANTASY SPORTS!

アメリカンフットボールを中心にスポーツ好きで、カントリーギター好きのJoseによる雑記帳です。

細かい事は分からんがVBAがやりたい-8-

2010年03月31日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
前回の“何を”どうするという指定ですって話の流れで、今回は行ってみましょう。

セルを選択とか、セルに書き込むとか、セルの事ばかりでやってきましたが、今回はシート名です。

Excelのシート名ってのは、色気が無いです。

Sheet1、Sheet2
うん、分かってるよ。って感じです。
そうじゃないと困るのも確かなんだけど。

でも、このシート名を4月とか5月とか、人の名前とか、そういうのにしてる人も多いんじゃないでしょうか。

という訳で、このシート名を変えるVBAに進んでみましょう。

まずは、簡単な固定文言系で、Sheet1のシート名を“04月”に変えるという事をやってみましょう。

“何を”は、Sheet1のシート名を。
“どうする”は、04月に変える
という指令ですよ~。


Sheets("Sheet1").Name = "04月"

すると...

あぁ、こりゃ便利・・・じゃねぇっ!!

そう言いたくなる所でしょう。
うんうん、よく分かりますよ、その気持ち。

でもね、まずは基本形から発展させてった方が分かりやすいもんです。

だから、次に進みましょう。

シート名を、選択されたセルの内容に変える。
これなら、どうです?

シート名を、ワークシートに記載した見出しと同じにする、なんて場面なら結構あるんじゃないでしょうか。


例えば、こんなの。

Sheet1には、オフェンス陣が載ってるとします。
想像するに、Sheet2にはディフェンス陣が、Sheet3には、スペシャル・チームが並んでるんでしょうね。

そうしたら、このA1セルの中身を取ってシート名にしたら、ちょっとは便利そうじゃないですか。

という訳で、まずはA1セルの中身をシート名にするというのをやってみましょう。


Sheets("Sheet1").Name = Range("A1").Value

すると...

う~ん、なんか今イチですね。
それ位なら、自分で入力しても変わらないんじゃないかと。

まずは“どうする”を、もうちょっと便利にしたい所です。
が、いきなりは大変なので、次回にという事で…。

BGM♪ I put a spell on you / Creedence Clearwater Revival
いい歌ですよね~。でも、ヘタっちょな人が歌っても、全く格好がつかない感じです。
でもVBAは、誰が書いても同じコードなら同じように動作してくれます。
特定のspell(綴り)をシート名にしてやって、この歌を思い浮かべてしまったので。
コメント (2)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

細かい事は分からんがVBAがやりたい-7-

2010年03月30日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
この先に行く前に、ちょっと頭の中を整理しておきましょう。

人と人とで業務を行うのには、基本的に指示と実行で成り立っています。
「この書類、コピーして。」とか、
「電話が鳴ったら、取って」とか...。

分かりやすい言葉で言えば、「何をどうしろ」という指示と、それを行う実行です。

指示を受けた人が、受けた指示を実行して、仕事が成り立ちます。

VBAに限らず、PCで何かやるってのは、自分がPCに指示を出して実行させるって事です。
ごく基本的には、PCのソフトに対して「何をどうしろ」と、指示を出すのがVBAです。

もちろん、指示を受けるPC(というかソフト)側が分かるように言ってやらないといけません。
A2セルを“ボール”という文字列が入った状態にしろ
…という指示を与えるなら、
所定の場所に、
 Range("A2").Value = "ボール"
というコードを書き込む….って考えてください。

自分がしたい事は、“何”に対して行うのか。
“どう”したいのか。

そこを明確にして考えてから、コードを記述していく事は、結構重要です。

いきなり“色を赤くして!”って言われても、何の色を赤くするのか、分からない子なんです。PCってのは。

私としては、人と人でも、そういうの明確にしてコミュニケーションして欲しいと思ってますけどね。

BGM♪ I Asked the Lord / The Oak Ridge Boys
神様にお願いしましたとの事です。
PCも、お願いの仕方さえ間違えなければ、物凄い処理をしてくれるやつです。
うまく可愛がって、なるべく彼の力を発揮させてやっていきましょう。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

細かい事は分からんがVBAがやりたい-6-

2010年03月29日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
ここまで、ちょっとしたコードを実行するボタンを作成して、何種類かの処理をやってきました。

今回は、また半歩進んで、幾つかの処理をまとめて実行してみましょう。

二つ以上の処理を実行するのは簡単です。
これまでやってきたコードを、続けて書けば良いだけです。

例えば
 A2セルに“フット”、A3セルに“ボール”の文字列を書き込んでみましょう。

こういうコードになります。

Range("A2").Value = "フット"
Range("A3").Value = "ボール"


実行結果は、こう。

次は、数字でもやってみましょう。

A2に69、A3に98、A4には、A2+A3の計算結果を書き込んでみましょう。

Range("A2").Value = 69
Range("A3").Value = 98
Range("A4").Value = Range("A2").Value + Range("A3").Value


実行結果は、こう。

重要なのは、上から順番に処理される事です。
例えば、A2+A3を先に書いてしまうと...


まだA2に69、A3に98が書き込まれる前に計算をしてしまうので...


計算結果は0になってしまいます。

やっていくと、この記述順というのは非常に重要になるのですが、まぁ現時点では、そういうものだという事だけは覚えておいてください。

BGM♪ More and more / Webb Pierce
こてこてな歌声で人気のウェブ・ピアースで、More and moreです。
この時代には、このテの歌声って人気ですよね。
レコード会社からも、もっともっとレコードを作れ!って急かされてたかもしれません。
という感じで業務では、VBAでもっともっとと処理させれば、業務効率向上につながる....かもね。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

球春到来2010

2010年03月28日 23時59分59秒 | Fantasy Baseball
[ Fantasy Baseball 2010 ]
Fantasy Baseball LOG
今年も球春到来。
Fantasy Baseball 2010の開幕が迫り、今晩ドラフトが行われました。

我がチーム・Santosの指名選手を、一挙ご紹介。
■内野手
一塁手
ケヴィン・ユーキリス(Bos - 1B,3B)#20
主軸になってくれると期待してます。
出塁率が高い選手なんで、その辺はもちろんですが、普通に打ってくれるのも、もちろんお待ちしています。
その時は、我がチームでは無視なんてしないからね...。


二塁手
チェイス・アトリー(Phi - 2B)#26
1巡で指名。走攻守揃った、チームの軸に据えられる選手です。
カリフォルニア生まれで大学はUCLA。
いつでもハッスル・プレイを発するタイプなので、それで怪我しない事は、祈ってます。


遊撃手
クリント・バームス(Col - 2B,SS)#12
昨年は打率.245 23本塁打 76打点を記録。
もう一回り大きな数値にして欲しいという事もあります。
付け加えるなら、この人は鹿の肉を持ったまま転んで鎖骨を骨折したなんて前科があるそうなので、そういったおいたも無いようにお願いしたいです。


三塁手
ショーン・フィギンス(Sea - 3B)#9
快速を活かしての盗塁量産にも期待です。
イチローとの1番・2番で、足を絡めた攻撃が機能すれば、シアトルがチーム全体で成績向上なんて事もあったりして...。
という期待をよく裏切ってくれるチームだけど。
ともあれ、彼の足には期待しておきます。


捕手
ジャロッド・サルタラマッキア(Tex - C)#21
個人的に思い入れがある選手です。
昨年は本塁打9という事でしたが、今年は一気に3倍増位行って欲しいなあ。あくまで希望としては。
それだけの力はきっとあるに違いない.....と信じています。


ロッド・バラハス(NYM - C)#21
昨年打率.226.だけど本塁打19。
いわゆる大型扇風機系(?)で、当たれば跳ぶ事は分かってるんだけど、その当りがなかなか...。
まあ、もっと当たるなら他のチームが獲得しちゃってるよね。
今年は、急激に何かが好転するなんて事があるかも、という宝くじ獲得。


■外野手
ネイト・マクラウス(Atl - OF)#24
ドラフト前から狙っていた数少ない選手。この人も走攻守揃い系ですね。
外野の枠をひとつ、彼が一年間キープしてくれると、全体のやりくりにもプラス効果です。
アトランタ・ブレーブスに来た事ですし、少し思いいれも持てそうなので、応援票も加算して期待してます。


アダム・ダン(Was - 1B,OF)#44
セーフコ・フィールド二階席のレストランに打球を直撃させる程のパワーで本塁打を量産。
ついでに三振も量産するけど、まあ当リーグでは、打者の三振数は問われないから、問題ありません。
テキサス大学時代は、クリス・シムズにポジションを奪われるまで、QBだったそうです。


コディ・ロス(FLA - OF)#12
阪神タイガースが獲得候補にリストアップしたとか、年俸調停とかで話題に上った選手。
2年連続で20本塁打以上って言う言い方すると凄そうに聞こえるけど、Fantasy では20本塁打の選手って微妙です。
さらに故障が多いのもネックか。


メルキー・カブレラ(Atl - OF)#53
こちらもアトランタ・ブレーブスに来た外野手。
昨年の本塁打は13本、133安打、68打点。
NYY時代に一度獲った事がありましたが、まあ下位指名なら買い指名じゃないかと思います。


ブラッド・ホウプ(Col - OF)#11
昨年23本塁打86打点。打率は.283。渋い選手です。
現実のチームならこの選手は、十分な戦力でしょうけど、Fanastyですからね。
開幕から好調に行ってくれないと、選手入れ替えの際の標的になりかねません。
でも、その低い期待を逆に裏切ってくれる事を祈ってます。


■投手
ジョシュ・ベケット(Bos - SP)#19
本当はバーランダーを獲りたかったんですが、無理だったため、まったく予定外に、我がチームのエースとなってしまいました。
でも、実績は十分以上の選手。もちろんエース待遇(って何?)です。
どうでもいいけど、この人小学校に入学するのが1年遅れたらしいです。


ブレット・アンダーソン(Oak - SP)#49
なんか、この人今年良さそうって聞いた気がするんで。
テキサス出身で、オークランド・アスレチックスだから、カリフォルニアのチームへ。
スーパーボウルで、テキサス出身~カリフォルニアへっていう、ボール投げる人がMVPだったからね


ニック・ブラックバーン(Min - SP)#53
昨年は11勝11敗。
いわゆる、十(とお)勝って十(とお)負ける感じの成績になってしまいましたが、それだけ投板してくれる投手は、我がチーム向きと言えるでしょう、たぶん。
最悪、また勝敗同じ数でも、数多く投板して欲しいと思っています。


ヒース・ベル(SD - RP)#21
我がチーム、抑えのエース。
ホフマンの後継者として、クローザー転向。子供にWii Fitを買ってやって、自分がダイエット成功。そのせいか、クローザー転向も成功。
凄いな、任天堂。シアトルの選手だったら、即CM契約決まりだったね...。


ランディ・ウルフ(Mil - SP)#43
昨年11勝7敗 160奪三振。
こう言ってはなんですが、ランディ・ウルフって、皆がこぞって獲得したがるってラインから、少々外れてたんですよね。
でも、だいぶ下位に残ってて、誰も獲得していないと、勿体無い気はしてくるんです。
だって、年々数字は上がってきてるし、昨年200イニング以上投げてるから。
やはり、IP稼ぎは重要です。

ジェイソン・マーキー(Was - SP)#21
この人も十(とお)勝って十(とお)負ける感じ辺りのラインより、少々上という勝敗配分でしたが、昨年は15勝13敗と、かなり上向きな感じです。
なんか妙に運が強いらしく、デビューから10年連続で自身の所属チームがプレーオフ進出を果たしているという選手です。


あんまりちゃんと情報収集もする時間が無く、すぐに入れ替えた方が良い選手もいるかもしれません。
という訳で、開幕までの間にも、多少の入れ替えが発生する可能性もありますが、一旦このメンバーで頑張っていきましょう!

BGM♪ Ready For the Times to Get Better / Doc Watson
カントリーチャートでNo.1も取ったという名曲です。マイナーなメロディーが耳に残りますね。
ドックのヴォーカルで、より渋く仕上がっている気がします。
ドラフトも終わり、このチームにより良い結果をもたらすための準備は整いました。
これから長い戦いを頑張っていこうと思います。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

細かい事は分からんがVBAがやりたい-5-

2010年03月27日 23時00分00秒 | いきなりVBA(Excel)
[ いきなりVBA ]
いきなりVBA 第1回 LOG
前回は、セルに値を書き込むVBAをやりました。
でも実際に使う場合って、決まった文言を書き込むなんて場面はほとんど無いものですよね。

だから、もうちょっとだけ実用的なコードに進んでみましょう。

1.別のセルの値を書き込む

Range("A2").Value = Range("B5").Value
A2セルにB5セルの値を書き込みます。
B5セルに書いた文字列(“うつし”)を、ボタンクリックで、A2セルに書き込みました。
そんなのどうすんだ?って言わないで。結構使えるんだから。

2. 別のセルの値に、固定文字列を付加する
計算用のセルの値は数字にしといて、別のセルに~枚みたいな表記をする時とか、便利そうです。
Range("B2").Value = Range("D3").Value & "枚"

3. セルに、今日の日付を入力する
ようやく、それらしくなりました。
“今日”の日付は、Dateで取得できます。
Range("C2").Value = Date

4. セルに昨日の日付を入力する
これも、それらしいですね。
昨日の日付は、Dateから1を引けばOKです。便利ですね。
Range("B2").Value = Date - 1
もちろん、“明日”はDate + 1です。

5. セルの値を足したりとか
B2とB3に数値を入力しておいてください。
Range("B4").Value = Range("B2").Value + Range("B3").Value
B4に、B2+B3の計算結果を入力します。

普通にワークシート上で計算すればいいのですが、数が多かったり、予め行数が分かっていない時とかには、こうした方が良い事もあります。
他の人に数式を消されたりする心配も無いし。

...あ、でも、#42:ダレン・シャーパーと#51 ジョナサン・ヴィルマが合計されたら、単純な合計以上に強力なはずですね...。
計算が間違ってるんでしょうか?(笑)

ともあれ、今回のは業務に使えそうな匂いのするコードですね。
業務で使うツールもこういう事の積み重ねです。
ここまででも結構、便利になってきたと思いますよ。

BGM♪ I'm Movin' On / Hank Snow
コードを辿って音程があがっていく出だしがキャッチーな、素敵な歌です。
ハンク・スノウは、自らもギターが達者で、そのPlayも呼び物のひとつになっています。この映像でも、見せ場として入れていますね。
VBAで、セルの値を移し(MOVE)たりって言う事で、選んでみました。強引か...。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする