Excel VBAについてお尋ねします。

Excelで勘定元帳を作っているのですが、シート名に
「1-現金」
「2-普通預金」
などとなっています。

この場合に、Excel VBAで
「-」の前後、つまり、「1-現金」の場合は
「1」「現金」を取り出すコマンドをご存知の方教えてください。

A 回答 (4件)

すみません。

間違えてました。

正しくは下記です。

Dim strValue As String
strValue = ActiveCell.Value

Dim i
i = InStr(1, strValue, "-") ' "-"の位置

Dim Bangou As String
Dim Data As String
Bangou = Left(strValue, i - 1) '番号の部分
Data = Mid$(strValue, i + 1) 'データの部分
           ここを間違えてました。
    • good
    • 0

以下のコードを試して見てください。


単純明快です。


Dim strValue As String
strValue = ActiveCell.Value

Dim i
i = InStr(1, strValue, "-") ' "-"の位置

Dim Bangou As String
Dim Data As String
Bangou = Left(strValue, i - 1) '番号の部分
Data = Mid$(strValue, i + 1, 3) 'データの部分
    • good
    • 0

科目はたくさんあると思いますので、蛇足ですが。

。。

Dim mySht As String 'シート名
Dim myKanjoNo, myKanjoName As String '科目、科目名
mySht = Sheets(1).Name 'シート番号を指定
myKanjoNo = Left(mySht, InStr(mySht, "-") - 1)
myKanjoName = Right(mySht, Len(mySht) - InStr(mySht, "-"))
    • good
    • 0

一番目のシートを選択した後、


Sheets(1).Nameを参照することでシート名が取得できます。
「(1)はn番目です」
これをmidb$で分解してください。

ここでは Dim strTemp As String で宣言した文字列変数で受け取ったとします。
strTemp = Sheets(1).Name

’数字の取り出し
変数a = Midb(strTemp,1,1)
’科目名の取り出し
変数 = Midb(strTemp,3,30)


EXCEL2000ならSplitが利用できるので
セパレータに"-"を指定すると
文字列を簡単に分解できます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ