前提・実現したいこと
セキュリティソフトのバージョン管理するためのExcelで使用しているマクロを回収することになり、
今まで1つのソフトバージョン管理だったのが2つ管理に増え、リスト表の配置変更は禁止の状況です。
Aのソフトなら左の値を、Bのソフトなら右の値を と個々に取得したい場合のやり方を質問したいです。
例(左にAソフトのバージョン、右にBソフトのバージョンがありこれは同一セルに入っている)
現行 5000
改修 5000/3000
試したこと
A1にソフト名、B1に問題の値として
VBA
1Dim BV As Integer 'Bソフト(右)を入れる変数 2If Range(A1).Value = "Bソフト" Then 3 BV=InStrRev(Range(B1).Value , "/") '右から/までの文字数取得 4 Range(C1).Value = Mid(Range(B1).Value , BV -1) 'C1へB1右だけの値を出力 5Else 6 'LenでB1の総文字数取得後InStrRevで取得した数字を引く、その数字をC1へ出力予定。 7EndIf
書き方などはあまり気にしないでください。
やってることとしては
・If文でBソフトなら右側の取得、Aソフトなら右側文字数を用いて左側を取得する 流れです。
発生している問題
必ず4桁とわかっていれば楽なのですがバージョンアップして5桁になることを考えて作っているため作り方がわからなくなっています。
特にこの形じゃないといけないわけではないので他に同一セル内の2つの値をここに取得する方法があればご教授いただきたく思います。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/12 03:03