【副業】マクロミルで初めてポイント交換をしてみた
今年の3月から始めたマクロミルですが、初めてのポイント交換をしてみたいと思います。
ポイントの交換先に何があるのかもイマイチ分かっていなかったのでまずはページ内にある「ポイント交換について」で確認してみる。
1.振込先指定銀行口座に換金
2.商品と交換
3.Amazonギフト券と交換
4.提携プログラムのポイントに交換
4つの交換先があるようです。
「振込先指定銀行口座に換金」を考えていたのですが2台目のPCを購入しようと考えていたので「Amazonギフト券と交換」と悩む…
他のポイントサイトでも「Amazonギフト券と交換」をしているところは多いのでAmazonアカウントに各ポイントを集めればそれなりの金額になるのでは?と思ったのですが、ここは初志貫徹現金で。
目次
入金日と手数料
入金日は申込み月の翌月20日以降とのこと。
遅いなぁと思いつつ、手数料はマクロミルが負担してくれるとのことなので有難い。
即日入金じゃないと死ぬわけでもないので問題ない。
1P1円で500Pから交換可能とのことですが、初回のみ300Pから交換出来るようです。とりあえず全ポイント交換するつもりです。
ポイント交換の申込み
「ポイント交換申込み」から画面を移ると「本人確認」画面が。
サクサク入力して画面遷移をすると交換先を選択する画面に突入。
順調かと思いきやここでトラブル発生。口座が登録されていない…
まずは「登録情報の確認変更」から口座を登録する必要があるようです。
口座の登録
順序が前後してしまったものの、これくらいの躓きは問題ない。
指示に従って「登録情報の確認変更」に移るとポイント交換画面と同様、本人確認の入力が待ち構えています。
口座の登録は銀行名/支店番号/口座番号/名前だけなので簡単に出来ました。
今度こそ交換
プルダウンでポイント数を選べるっぽいのですがMAXで5000ポイント。
何回でも申請できるのであとで3000ポイントも追加することにします。
無事に5000P申込めたようなので引き続き3000Pも申込み残りが402Pとなりました。
最終確認
心配性なので「ポイント加算・交換履歴」から本当に指定したポイントが申請されているのか確認してみます。
バッチリっぽい。
あとは来月の20日以降にここの表示が切り替わるの待つのみですね。
おわりに
振込み口座さえ登録しておけばポイント交換はめちゃくちゃスピーディでした。
あとは無事に振込みされるのを待つのみです!
↓こちらから始めると100P(100円)もらえるので良かったらどうぞ。
【VBA】演算子について
計算に使う+やら-のことを演算子というのだけれども、よく使うので簡単にまとめておこうと思います。
目次
演算子のあれこれ
+
言わずと知れた足し算。「a = b + c」であればbとcを足した値をaに代入となります。
-
こちらは引き算。「a = b - c」であればbからcを引いた値をaに代入となります。
*
こちらは掛け算。「a = b * c」であればbとcを掛けた値をaに代入となります。
初めて計算をした際にキーボードを見て「掛け算どこー?」となったことがある人は多いはず。
^
べき乗。「a = b ^ c」であればbのc乗をaに代入となります。
/
割り算。「a = b / c」であればbをcで割った値をaに代入となります。この時の値は浮動小数点数。こちらも掛け算同様、初めて計算をした際にキーボードを見て「割り算どこー?」となったことがある人は多いはず。
ちなみにcが0の場合は実行時エラーが発生します。
浮動小数点数について書こうと思ったのですが、どうにも簡単にまとめるための言語能力が僕には不足しているので申し訳ないのですがここでは割愛します。
¥
割り算。「a = b ¥ c」であればbをcで割った値をaに代入となります。この時の値は整数値。/同様、cが0の場合は実行時エラーが発生します。
Mod
余りです。「a = b Mod c」であればbをcで割った際の余りをaに代入となります。
=
「a = b」であればbの値をaに代入となります。
試しにやってみよう
Sub test()
MsgBox 5 + 5
MsgBox 5 - 5
MsgBox 5 * 5
MsgBox 5 ^ 5
MsgBox 5 / 5
MsgBox 5 \ 2
MsgBox 5 Mod 2
End Sub
上記を実行すると計算された値がメッセージボックスに表示されます。
演算子の紹介で代入を使っているのでせっかくの機会なので書いてみます。
Sub test()
Dim a As Integer
a = 700
MsgBox a
a = a + 77
MsgBox a
End Sub
実行するとまず「700」が表示され、2回目のメッセージボックスで「777」と表示されます。
おわりに
近くに電卓がない、スマホの電卓を使うのが面倒、ファイル名指定からの「calc」で電卓開くのが面倒…
【VBA】処理速度を上げるApplication.ScreenUpdating = False
スマホやPCでWEBページを見ている際、なんならアプリの処理が遅くてイライラすることありますよね。
ちなみに僕のスマホは通信制限が月2GBとか鬼のようなプランなので大体毎月中旬から泣いてます。
VBAではコードで処理速度を速くしてくれるコードがあるので覚えておくととても便利なんのでご紹介します。
目次
1行目に書くApplication.ScreenUpdating = False
直訳すると「Excelの画面更新を停止せよ」という命令文です。
抑制(False)、復活(True)するもので、今回のように抑制(False)されている間は画面が全く更新されません。
更新されないから処理の速度が上がるというわけです。
ちなみに途中で画面更新が必要になる場合は途中に復活を挟むこともできます。逆も然りです。
長々と入力するのが大変?
ご存知の方も多いかと思いますがVBAでは入力候補のリストが出てくるのでフル入力しなくてOKです。
ちなみに入力候補リストを出すショートカット
Ctrl + Space
入力候補が出たら、例えば「Application」は、「ap」という2文字を入力すれば2つ目の候補に出てきます。
マウスに手を移すのは煩わしいので「↓(キー)」で選択し、Tabを押すと入力補完されます。
続けて「.(ドット)」
↓Tab不要
「sc」(ScreenUpdatingは候補の一番上)
↓Tab
「=」「↓(Falseが一番上にある)」
これで一瞬で入力が完了します。
長いし面倒かもしれませんが最初はゆっくり慣れてもらえれば良いかと。
この入力補助については今回に限らず、よく使いますのでこちらも習慣にしてしまいましょう。
入力補助を使うメリット
きちんと書いているとツールを作る上では作業効率が下がります。
入力補助の機能を使うと
「フル入力するのが面倒なくらい長いやつを瞬殺できる(今回のApplicationとか)」
「手入力で起こりがちなスペルミスなどが発生しなくなる(ScreenUpdatingをScreenUpdateと間違えたり)」
などのメリットがあります。
まとめ
Sub test()
Application.ScreenUpdating = False
End Sub
これが基本形体と覚えてしまいましょう。
英単語覚えるのが苦手だからVBAも覚えられない…という人も「Ctrl + Space」を使えばスペル自体はうる覚えでも大丈夫。
【VBA】If~Thenステートメントを使って条件分岐をしてみよう
ifは英語の意味そのままで「もし~だったら」のことで、VBAの制御構文の中では一番基本的なものだと思います。
条件分岐と言われるやつですね。
初めて条件分岐という言葉を使った時にはかっこよさのあまりに震えたものです。
今回はシンプルなものを作ってどんなものかと知ってもらえればと思います。
目次
If~Thenステートメントって?
冒頭でも触れましたが、If~Thenステートメントは条件によって処理を振り分けるときに使います。
場合によって演算子や論理演算子を使った条件式を指定したりすのですが、今はその辺はおいておきましょう。
(イメージ)
If 条件 Then (Falseの場合) 「※1」へ飛ぶ
↓(Trueの場合)
処理A
↓
End If
↓ ※1
・
・
・
一番シンプルなIfステートメントだとこんな感じです(あくまでイメージ)。
「条件」が成り立つとき(Trueの場合)は「処理A」を実行し、「条件」が成り立たないとき(Falseの場合)は何もしないといったもの。
書き方
If 条件式 Then
条件式が真(True)の場合に実行される処理
Else
条件式が偽(False)の場合に実行される処理
End If
真(True)の場合はThen以降の処理を実行、
偽(False)の場合はElse以降の処理を実行するというものです。
実際にやってみよう!
数字を使うと分かりやすいかと思います。
Sub お試しIF()
Dim a As Integer
a = 100
If a > 50 Then
MsgBox "aは50より大きい"
Else
MsgBox "aは50より小さい"
End If
End Sub
解説
Dim a As Integer
a = 100
「変数aには整数が入ることを宣言」「aに100を代入」
If a > 50 Then
MsgBox "aは50より大きい"
「もしaが50より大きかったらメッセージボックスで"aは50より大きい"と表示して!」
Else
MsgBox "aは50より小さい"
「もしaが50より小さかったらメッセージボックスで"aは50より小さい"と表示して!」
今回の場合、変数aには100という整数が入っているので50よりも大きいです。
なので実行結果は「"aは50より大きい"」です。
(実行結果)
まとめ
今回の例ではコード内で完結するものですが、条件を「If Range("A1").Value = 100 Then」などにすると「もしA1に100が入っていたら…」となり実践で使えそうな匂いがしてきますね。
条件分岐などを行い始めると何だかプログラムっぽい気がします。
【雑記】花瓶がないので代用品を作ってみた
娘と散歩をしていると「パパー!お花咲いてるね!」なんてことをよく言っているなと、ふと思い、花が好きなんだなと。
今度野花じゃなくイケてる花を買って帰ろうと思い立ったのですが
我が家に花瓶がないことに気付く。
娘に花をプレゼントしようと目論む前に10年来の嫁には未だかつて花をプレゼントしたことがないのでまずそっちじゃないかと思ったりもしたのですが、気持ち悪がられるか、ない事疑われる羽目になるんじゃないかと全然喜ぶ姿が想像できなかったので却下。
娘にパパありがとう!と言われたい。
とはいえ、わざわざ花瓶を買って失敗しても嫌なので花を家に置く事についての様子をまずは伺いたい。
何か家にあるもので花瓶の代わりになるものはないかと考えていたところ、最初に思いついたのは酒瓶。
酒瓶に花が差さっている様子を想像してみたのですが、不謹慎ながら道端のお供えというかご冥福をお祈りするようなやつにしか見えない。
コレは良くない。
仮に花を置くこと自体にウェルカムな雰囲気があったとしてもコレは良くない。
頭湧いてんの?とか言われかねない。
仮置きとはいえそこそこ見栄えが良さそうなものをチョイスしたい。
何か他に代わりになるものはないかと家の中を見渡していると良さそうなもの見付けた。
香水の空き瓶。
先日なくなって捨てなきゃなぁと思っていてスッカリ忘れていたやつ。
これだ!と思ったよね。
酒瓶より全然マシ。
採用されれば地球にも優しい。
素晴らしい。
上のキャップみたいなやつ外せば花入るじゃん!
超余裕とか思っていたんだけど、キャップみたいなやつ素手じゃ全然ビクともしないの。ただ手が香水臭くなっただけ。
外れた!と思ったら最上部が外れただけ。
これはどうにもならんなぁとペンチとかないと無理…
そういえば昔実家を出る時に父親に「道具がなけりゃ困ることあるだろ」とか言われて持たされたっけと思い出し捜索。
これをペンチと呼ぶのか僕は知らないけど心強い仲間ができたことには間違いない。
いざリベンジ(この家に越してから初めて使ったよ)。
正直道具使えば瞬殺かと思っていたのだけど予定と違い少し苦戦する。
テコの原理ってオシャレな技術を使うにもペンチ(?)を立てれば瓶が傷付く(ティッシュやタオルを挟むのは面倒)。
ゴリ押しならぬゴリ引きで強行突破を図る。
やっとの思いで取れたんだけど、まだ残ってて…
こいつは牛乳瓶のキャップより少し手強いくらいのレベル。
分解し終わって疲れ満足しちゃった。今主役(花)の購入とかもう結構どうでもいい…
気が向いたら花を買って帰ろうと思います。
花瓶(仮)はあるからな。