一文字ずつ分割
30日間1日1本マクロ生活、8日目です。
マクロを書く準備は、0日目に記事を書きました。
マクロを書く準備早速マクロを書こうと思ったんですが、マクロって何?食えんの?って人もいると思うんで、丁寧に行こうかな、と。マクロってのは、通常は人間の手でやるような作業を、プログラムを書くことで機械に自動的にやらせるってことです。Excelの場合はVBA(Visual Basic for Application)という言語を使ってマクロを書きます。まずはその準備を。Excelを起動すると、ワークシートが現れます。ここでキーボードの「ALT+」を押してください。はキーボードの上方にあるファンクションキーの11番です。すると、このウィンドウが開... 0日目 マクロを書く準備をしよう【30日間1日1本マクロ生活】 - わたしの日常に価値はありますか? |
今日のネタは、文字列を一文字ずつセルに分割です。
文字列の分割は1日目にやりました。
文字列の分割30日間1日1本マクロ生活、記念すべき1日目です。マクロを書く準備は、0日目に記事を書きました。と言っても今日なんですけど。今日のネタは、文字列の分割です。こんなデータがあるんです。GEOPAPINASHVILI, AmiranJPNAOKI, DaiHUNSZABO, CsabaSLOTRBOVC, MatjazFRAMKHEIDZE, LukaGERHEYDER, MaximilianAZESADIGOV, MehmanTUROZLU, BekirBRAKITADAI, FelipeMARHOUMMANI, AbderrahmaneGBRMCKENZIE, AshleyMONSICCARDI, YannPORMANSINHO, GoncaloRUSMSHVIDOBADZE, RobertGERKLEMM, LukasCROAZINOVIC, BernardTURKABA, Ahmet ... 1日目 3文字目で分割しよう【30日間1日1本マクロ生活】 - わたしの日常に価値はありますか? |
今日は、一文字ずつ全ての文字をセルに分割します。
A1のセルに書かれた「わたしの日常に価値はありますか」を「わ」「た」「し」「の」「日」「常」「に」「価」「値」「は」「あ」「り」「ま」「す」「か」とセルに分けます。
さっそくコードを
Sub 一文字ずつ分割()
m = Selection.Value
y = Selection.Row
l = Len(m)
For x = 2 To l + 1
Cells(y, x) = Mid(m, x - 1, 1)
Next x
End Sub
では、解説します。
・・・が、今回は今までのやり方をそのまま応用させただけですね。
For~Nextのループ内では、変数mに格納された文字列を、1文字ずつ取り出してセルに書きこんでいます。
実行結果
ワークシート内の対象のセルにカーソルを合わせ、マクロを記述するウィンドウの「Sub」と「End Sub」の間にカーソルを置いて、画面上方の再生ボタン的なアイコン(右向きの三角形)をクリックするか、[F5]キーを押します。
はい、このように一文字ずつセルに分割されました。
この手法を利用する場面もたくさん考えられますよ。わたしはよく使う手法です。
Excelは便利
悔しいですが、Excelは便利です。
Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。
マクロを書くようになると、Excelからは離れられないですね。
30日間、頑張ります。
マイクロソフト 2014-10-17