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

VBAでラクしたい ~Part 2~

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

文字列のはじっこを取得してみる


前回は、変数SeihinNoに'1459903147-20B'を格納するとこまでやりました(^^)
そして今回はここから特定の文字列を取り出してみませう。

まず、取り出したい'製品コード'は3桁であるとします。そしてこれは文字列の
左から数えて3文字分ということになってます。

このように「ある文字列の左端からある文字数分だけ取り出したい」というような
場合に使えるのが「LEFT関数」です。

この関数はこんな形で使います。

Left(文字列,取り出したい文字数)

例えば、今回のケースでいくと

Left(SeihinNo,3)

というようになりますよね。お分かりですか?(^-^

そうして取り出した文字列を、あらかじめ用意しておいた変数SeihinCDに入れてやれば
いいわけです。

SeihinCD = Left(SeihinNo,3)

そして前回の
Cells(1,2).Value = SeihinNo

Cells(1,2).Value = SeihinCD
に変えて実行してみると・・・・どうですか?セルB1の位置に取り出した文字列が表示
されましたね(^-^)

もし、0が表示されちゃったとかの場合、変数名が間違ってないか確認してみましょう(^^;


さぁ、これが出来たついでに今度は工場コードも取り出してみちゃいましょうか。

え?「工場コードは右端にあるんだから取れない」?
ごもっともです、ハイ。この場合LEFT関数ではできません。

しかーし、物事の道理としまして「左」があれば必ず「右」もあるのでございます。
そんな時には「RIGHT関数」を使いましょう。(安易な説明だなぁ・・・)

で、いちおう使う前に、取り出した値を格納するための変数を作りましょ。

Dim KoujoCD As String

そしてLEFTとおんなじように

KoujoCD = Right(SeihinNo,3)

としておいて、じゃこれをセルC1に出しましょう

Cells(1,3).Value = KoujoCD

で、ここまでのまとめ~

Sub Henkan()


'*** 変数の宣言 ***
Dim SeihinNo As String
Dim SeihinCD As String
Dim KoujoCD As String

'*** 変数SeihinNoにセルA1の値を入れる ***
SeihinNo = Cells(1,1).Value

'*** 変数SeihinNoの左端から3桁取り出す
SeihinCD = Left(SeihinNo,3)
'*** 変数SeihinNoの右端から3桁取り出す
KoujoCD = Right(SeihinNo,3)

'*** セルB1に製品コードを表示
Cells(1,2).Value = SeihinCD
'*** セルC1に工場コードを表示
Cells(1,3).Value = KoujoCD


End Sub

という感じになりますね(^o^ #よろしいですか?

この段階から「変数を使って処理」することの手順と意義をしっかりと理解
していけるように頑張りましょう(^-^)


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




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