Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4605 / 13644 ツリー ←次へ | 前へ→

【55651】間違ってるところを教えてください sugi 08/5/14(水) 16:21 質問[未読]
【55652】Re:間違ってるところを教えてください ひげくま 08/5/14(水) 16:31 発言[未読]
【55653】Re:間違ってるところを教えてください Jaka 08/5/14(水) 16:33 発言[未読]
【55656】Re:間違ってるところを教えてください sugi 08/5/14(水) 17:02 発言[未読]
【55658】Re:間違ってるところを教えてください Jaka 08/5/14(水) 17:11 発言[未読]
【55659】Re:間違ってるところを教えてください わいわい 08/5/14(水) 17:36 発言[未読]
【55674】Re:間違ってるところを教えてください sugi 08/5/15(木) 12:30 質問[未読]
【55675】Re:間違ってるところを教えてください わいわい 08/5/15(木) 13:23 発言[未読]

【55651】間違ってるところを教えてください
質問  sugi  - 08/5/14(水) 16:21 -

引用なし
パスワード
   Sub 選択()

  si = Selection.Shapes.TopLeftCell.Address
  Range(si).Select
  rs = ActiveCell.Row
  cs = ActiveCell.Column
       
  Cells(rs, cs).Select
    ActiveCell.FormulaR1C1 = "●"
    ActiveCell.Font.Size = 12

End Sub

【55652】Re:間違ってるところを教えてください
発言  ひげくま  - 08/5/14(水) 16:31 -

引用なし
パスワード
   どの命令で、どんなエラーになっているのかは、解るはずですよ。

【55653】Re:間違ってるところを教えてください
発言  Jaka  - 08/5/14(水) 16:33 -

引用なし
パスワード
   >  si = Selection.Shapes.TopLeftCell.Address
          ^^^^^^^
           要らない。

【55656】Re:間違ってるところを教えてください
発言  sugi  - 08/5/14(水) 17:02 -

引用なし
パスワード
   ▼Jaka さん:
>>  si = Selection.Shapes.TopLeftCell.Address
>          ^^^^^^^
>           要らない。

si = Selection.TopLeftCell.Address
にしてもこの行でエラーが出てしまいます。

【55658】Re:間違ってるところを教えてください
発言  Jaka  - 08/5/14(水) 17:11 -

引用なし
パスワード
   ▼sugi さん:
>si = Selection.TopLeftCell.Address
>にしてもこの行でエラーが出てしまいます。
Selectionの意、選択してある。
また、TopLeftCellプロパティが対応してない物に対して
取得しようとしてもエラーになります。

こなのとか
MsgBox Sheets("Sheet1").Value

【55659】Re:間違ってるところを教えてください
発言  わいわい  - 08/5/14(水) 17:36 -

引用なし
パスワード
   Jaka さんこんにちは
sugi さん、何をSelectionしているのでしょうか?
もしかして ”Shapes”を選択してるんですか?
もしそうなら、質問の説明が不十分です。
一応 ”Shapes” を選択している場合のコードを載せておきます。

選択2の様にもできます。

Sub 選択()
Dim si As Range
Dim rs As Long
Dim cs As Long

Set si = Selection.TopLeftCell
  si.Select
  rs = ActiveCell.Row
  cs = ActiveCell.Column
   
  Cells(rs, cs).Select
  ActiveCell.FormulaR1C1 = "●"
  ActiveCell.Font.Size = 12

End Sub

Sub 選択2()
Dim si As Range

If TypeName(Selection) = "Range" Then
  MsgBox "テキストボックス等を選択してください"
  Exit Sub
End If
Set si = Selection.TopLeftCell
si.Select
With Selection
  .FormulaR1C1 = "●"
  .Font.Size = 12
End With

End Sub

【55674】Re:間違ってるところを教えてください
質問  sugi  - 08/5/15(木) 12:30 -

引用なし
パスワード
   ▼わいわい さん:
>Jaka さんこんにちは
>sugi さん、何をSelectionしているのでしょうか?
>もしかして ”Shapes”を選択してるんですか?
>もしそうなら、質問の説明が不十分です。
>一応 ”Shapes” を選択している場合のコードを載せておきます。
>
>選択2の様にもできます。
>
>Sub 選択()
>Dim si As Range
>Dim rs As Long
>Dim cs As Long
>
>Set si = Selection.TopLeftCell
>  si.Select
>  rs = ActiveCell.Row
>  cs = ActiveCell.Column
>   
>  Cells(rs, cs).Select
>  ActiveCell.FormulaR1C1 = "●"
>  ActiveCell.Font.Size = 12
>
>End Sub
>
>Sub 選択2()
>Dim si As Range
>
>If TypeName(Selection) = "Range" Then
>  MsgBox "テキストボックス等を選択してください"
>  Exit Sub
>End If
>Set si = Selection.TopLeftCell
>si.Select
>With Selection
>  .FormulaR1C1 = "●"
>  .Font.Size = 12
>End With
>
>End Sub
アドバイス有難うございます。
”Shapes”を選択しています。
Set si = Selection.TopLeftCell
の列でエラーが出てしまいます。

【55675】Re:間違ってるところを教えてください
発言  わいわい  - 08/5/15(木) 13:23 -

引用なし
パスワード
   >”Shapes”を選択しています。
>Set si = Selection.TopLeftCell
>の列でエラーが出てしまいます。

っぇえ! Sub 選択2() でもですか!?
オートシェイプで作成したんですよね?
私のPCでは再現できません。

エラーは何でしょうか?
エラーの種類を記載すれば、識者の適切な回答がつくと思います。

4605 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free