dポイントプレゼントキャンペーン実施中!

ExcelVBAでセルの中の()の数字を足してその数値が条件を満たせばセルの色を変えたいです。
添付の画像では左から以下の通りです。
A列:必要数
B列:手配先 →数値()は棚番号(在庫)
C列:納期

B列の()の中の数字を足してA列と同じ数値であればC列セルを白色にできるようにしたいです。
添付画像では赤枠の個所が白色セルとなるようにしたいです。どのようにコードを記載すればいいでしょうか。

「ExcelVBA セルの中の()の数字を」の質問画像

A 回答 (1件)

おはようございます。



一部になりますが、セルA1に、21972(37)~ABC(株)が入っていた場合に
()内の数字を足すプログラムです。 一応、600という答えになります。

myTotalが、()内の答えになるので、それを、A列のセルの値とIFで比較し
同じなら、C列のセルの色を白又は、色塗りを止める様にすれば良いかと。

それを、さらに、Range("A1").Valueを、セルをB1~一番下のデータまで、
繰り返す様に変更すれば良いかと思います。


Sub mySplitTest()
Dim myAllDat As Variant, myTotal As Long, myDat As String, I As Long

myAllDat = Split(Range("A1").Value, "(")

myTotal = 0
For I = 1 To UBound(myAllDat)
myDat = Split(myAllDat(I), ")")(0)
If IsNumeric(myDat) Then
myTotal = myTotal + Val(myDat)
End If
Next I

MsgBox myTotal
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。問題解決できました!!

お礼日時:2021/11/19 13:55

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