|
Jaka さん
すみません。
ちゃんと伝わっていませんでした。
1.D11〜D41の間で空白ならそのB列に○(オートシェイプ)を作成する。
2.作成列に文字がなかったら作成しない。
例1:D15が空白でB15に文字がある →B15に○を作成する。
例2:D18が空白でB18に文字がない →B18に○を作成しない。
です。
▼Jaka さん:
>▼とってぃ さん:
>>もう一つ追加したいのですどのようにコードを書けばよいのか教えてください。
>>With .Cells(i, 4).Offset(, -2)でB列を指定してますが、
>>そこに空白なら(B列)オートシェイプを作成しない。を追加したいのですが。。
>提示されたコードを見る限り自分で解決できそうな感じですけど。
>
>Dim i As Long, Shap As Shape
>Const 余白率 = 15 '余白の割合(%)
> With Worksheets("Sheet1")
> For i = 11 To 41
> With .Cells(i, 4)
> If .Value = "" Then
> With .Offset(, -2)
> '.Select
> If .Value <> "" Then
> Set Shap = ActiveSheet.Shapes.AddShape(msoShapeOval, _
> .Left + .Width * 余白率 / 100, _
> .Top + .Height * 余白率 / 100, _
> .Width * (100 - (余白率 * 2)) / 100, _
> .Height * (100 - (余白率 * 2)) / 100)
> Shap.Fill.Visible = msoFalse
> Set Shap = Nothing
> End If
> End With
> End If
> End With
> Next
> End With
|
|