-PR-
締切済み

Excel VBAについて教えてください

  • 困ってます
  • 質問No.75950
  • 閲覧数89
  • ありがとう数5
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 0% (0/4)

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

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

この場合に、Excel VBAで
「-」の前後、つまり、「1-現金」の場合は
「1」「現金」を取り出すコマンドをご存知の方教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

一番目のシートを選択した後、
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が利用できるので
セパレータに"-"を指定すると
文字列を簡単に分解できます。


  • 回答No.2
レベル13

ベストアンサー率 68% (791/1163)

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

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, "-"))
  • 回答No.3
レベル9

ベストアンサー率 21% (13/60)

以下のコードを試して見てください。
単純明快です。


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) 'データの部分
  • 回答No.4
レベル9

ベストアンサー率 21% (13/60)

すみません。間違えてました。

正しくは下記です。

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) 'データの部分
           ここを間違えてました。
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ