マクロでいこう! ~ Excel活用HomePage ~ |
VBAでラクしたい ~Part 2~こちらのコーナーでは、VBAの使い方を中心にご紹介していきます。作者自身の経験から書いておりますので、本とかとは違ったコトを 書いてるトコロもあるかもしれません。 そういう場合は、良さそうな方を信じましょう(^_^; |
TOP > VBAでラクしたい ~Part 2~ > 文字列を取得して使う |
文字列を取得して使う 今まではセルの値をコピーして別の場所にペーストしたり、セルに数式を 埋め込んで集計したりとかしてきましたけど、値そのものを加工したりっ てことはしてませんでしたよね(^^; ワークシートに直接関数を埋め込んでも、同じようなことはできるんです けど、ここではVBAを使ってデータを加工してから、最終的にシートに 戻すっていうイメージで、いくつかの手法を見ていくことにしましょう(^-^ 例えば、業務で使うコード番号なんかを考えてみましょう。 コード番号っていうのは、それ1つで1つの意味を表すものもあります。 顧客マスタで'11592'とか'52BG'とかよくありますよね。 ところが、一続きのコード番号の中に複数の情報が含まれてたりする場 合。例えば何でしょう。製造番号なんかがありますね。 '1459903147-20B'とか、なんだか長いですけど、これらを1つ1つ切り 分けてみると、こんな意味を持ってたりします。 ・製品コード(3桁) ・製造年月日(6桁) ・枝番(1桁) ・ハイフン(-) ・工場コード(3桁) こういうコードがズラーっと並んでたといたしましょう。 さぁ、こっから「製品コードだけを取り出したい」という場合について 一緒に考えていきましょう(^o^ まずは変数に値を格納するおさらいを 変数を使う前には宣言をしときます。別に宣言はしなくても使えること は使えますけど、しておいた方が何かと都合がいいです(^-^; ここでは'製品番号'をSeihinNo、製品コードを'SeihinCD'に入れること にしてみます。 え?なんでわざわざ大文字と小文字を混在させてるのかって? それはですね、こうしておくと入力間違いをしたときにすぐ分かるん ですよ。 例えばseihinnoとかって全部小文字で入力しても、変数を宣言してお けば、自動的に宣言された形にExcel側で直してくれるんです。 ということで、これらの変数を'文字型'で宣言すると Dim SeihinNo As String Dim SeihinCD As String というふうになりますね(^-^ そして先程の製品番号はセルA1に入っているとし、変換した結果を セルB1に入れるようにしてみましょう。 ここでは以前使ったことのある、'Cell'命令を使って値を取得し、変数 に格納してみますね。d(^-^ セルA1をCell命令で表すと Cells(1,1) となります。このセルの'値'をとりたいので、 Cells(1,1).Value とします。この辺は「For~Next」の章でもやってますよね(^^ そして、セルA1の値を取得して変数SeihinNoに格納するには SeihinNo = Cells(1,1).Value とすれば、いいですよね。d(^-^ では、この取得した値をセルB1に入れるにはどうしたらいい でしょう? 答えはカンタン。今の逆をやってやればいいわけです。 つまり、「セルの値に変数の値を入れる」ってことですから、 Cells(1,2).Value = SeihinNo ですよね(^-^ よろしいですか? で、ここまでをまとめますと Sub Henkan() '*** 変数の宣言 *** Dim SeihinNo As String Dim SeihinCD As String '*** 変数SeihinNoにセルA1の値を入れる *** SeihinNo = Cells(1,1).Value '*** セルB1に変数SeihinNoの値を入れる *** Cells(1,2).Value = SeihinNo End Sub という感じになりますね(^o^ これを踏まえまして、次回はこの変数の値に手を加えてみる ことにしましょう。 それでは、次回までごきげんよう~♪(^^)/~ TOP > VBAでラクしたい ~Part 2~ |
Copyright (C) 2006 マクロでいこう!. All Rights Reserved. |