マクロでいこう! ~ Excel活用HomePage ~

VBAでラクしたい ~Part 2~

こちらのコーナーでは、VBAの使い方を中心にご紹介していきます。
作者自身の経験から書いておりますので、本とかとは違ったコトを
書いてるトコロもあるかもしれません。 そういう場合は、良さそうな方を信じましょう(^_^;
TOPVBAでラクしたい ~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^

これを踏まえまして、次回はこの変数の値に手を加えてみる
ことにしましょう。

それでは、次回までごきげんよう~♪(^^)/~




TOPVBAでラクしたい ~Part 2~
Copyright (C) 2006 マクロでいこう!. All Rights Reserved.