- 締切済み
Excel VBAについて教えてください
Excel VBAについてお尋ねします。 Excelで勘定元帳を作っているのですが、シート名に 「1-現金」 「2-普通預金」 などとなっています。 この場合に、Excel VBAで 「-」の前後、つまり、「1-現金」の場合は 「1」「現金」を取り出すコマンドをご存知の方教えてください。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Masato_a
- ベストアンサー率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) 'データの部分 ここを間違えてました。
- Masato_a
- ベストアンサー率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) 'データの部分
- nishi6
- ベストアンサー率67% (869/1280)
科目はたくさんあると思いますので、蛇足ですが。。。 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, "-"))
- bin-chan
- ベストアンサー率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が利用できるので セパレータに"-"を指定すると 文字列を簡単に分解できます。