- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
542 :デフォルトの名無しさん[sage]:2015/04/27(月) 03:39:21.42 ID:ebWiZqjs - >>541
ちょっと考えてみたけど >A1からA5までオートシェイプで5種類の図形を作っておき シェープはセルに紐づいてるわけじゃない すべてのシェープの位置をチェックすれば可能かもしれない >B2に数値の1から5までしか入力できないものとしたうえで めんどいから考慮しない >C1にA2の図形が表示される シェープを移動すると元がなくなる 新規シェープを表示するなら、本来自分でシェープ作って必要な属性セットしてやる必要があるけど クリップボード経由でコピー&ペーストで行けるかもしれん と言う感じでやればできるんじゃないだろうか
|
- Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
543 :デフォルトの名無しさん[sage]:2015/04/27(月) 03:42:06.35 ID:ebWiZqjs - と言う事でコード書いてみた
シートモジュールで Function getShape(r As Integer) As Shape Dim s As Shape For Each s In Shapes If s.TopLeftCell.Column = 1 And s.TopLeftCell.Row = r Then Set getShape = s Exit Function End If Next End Function Private Sub Worksheet_Change(ByVal Target As Range) Dim s As Shape If Target.Address <> "$B$1" Then Exit Sub Set s = getShape(Target.Value) If s Is Nothing Then Exit Sub Application.EnableEvents = False s.Copy Paste Range("C1") Application.EnableEvents = True End Sub こんな感じでどうだろう 色々手抜きなので想定外の動作は考慮してない
|
- VB.NET質問スレ(Part42) [転載禁止]©2ch.net
267 :デフォルトの名無しさん[sage]:2015/04/27(月) 15:51:30.37 ID:ebWiZqjs - >>266
2013で試したけどちゃんとStringだけど? 暗黙の変換が理解できないのか? もしかして、aの型が途中で変われとか思ってるのか?
|