|
回答ありがとうございます。
正常に動作しないということですが、
もしよろしければ教えてもらえないでしょうか?
お願いします。
▼ichinose さん:
>▼シスアド さん:
>おはようございます。
>
>>下記のように、セルBK2に0.1.2.3のいづれかが入力された場合Caseによって条件があるマクロを作成しました。
>>これを同じSheetのリストという名前のセルBK2ではなく、データという名前のSheetのセルO2に値が入力されており、それを使用し、リストという名前に出力したいのですがどうしたらよいでしょうか?
>>補足をお願いします。
>
>>sub()
>>a=0
>>Dim c As Range
>>
>>For Each c ln Range("BK2")
>>Select Case c.Value
>>
>>Case a
>> ActiveSheets.Shapes.AddShape(msoShapeOval,159.75,29.25,15.75).Select
>> Selection.ShapeRange.Fill.Visible=msoFalse
>>Case 1
>>ActiveSheets.Shapes.AddShape(msoShapeOval,249.75,157.25,15.75).Select
>> Selection.ShapeRange.Fill.Visible=msoFalse
>>Case 2
>>ActiveSheets.Shapes.AddShape(msoShapeOval,343.75,29.25,15.75).Select
>> Selection.ShapeRange.Fill.Visible=msoFalse
>>Case 3
>>ActiveSheets.Shapes.AddShape(msoShapeOval,432.75,29.25,15.75).Select
>> Selection.ShapeRange.Fill.Visible=msoFalse
>>Case Else
>>MsgBox "データが空欄です"
>>End Select
>>Next
>>End Sub
>↑が変更前のコードということですが、これ正常に作動しませんよね!!
>
>何故? という箇所がありますが、深い理由があるのだろうと
>解釈し、そのまま残しました。
>
>Sub sample()
> Dim a As Long
> Dim ok As Boolean
> Dim o_left As Double
> Dim o_top As Double
> Dim c As Range
> Set c = Worksheets("データ").Range("o2")
> a = 0
> ok = True
> Select Case c.Value
> Case ""
> MsgBox "データが空欄です"
> ok = False
> Case a
> o_left = 159.75
> o_top = 29.25
> Case 1
> o_left = 249.75
> o_top = 157.25
> Case 2
> o_left = 343.75
> o_top = 29.25
> Case 3
> o_left = 432.75
> o_top = 29.25
> Case Else
> MsgBox "データが無効です"
> ok = False
> End Select
> If ok = True Then
> With Worksheets("リスト").Shapes. _
> AddShape(msoShapeOval, o_left, o_top, 15.75, 15.75)
> .Parent.Select
> .Fill.Visible = msoFalse
> .Select
> End With
> End If
>End Sub
|
|