• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAの設定「2題」)

VBAの設定を最適化する方法

このQ&Aのポイント
  • VBAの設定について質問があります。
  • ExcelのVBAを利用して、特定の機能を実現したいです。
  • ExcelのVBAで、選択したセルの色を消す方法と、複数の機能を同時に動作させる方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>前段階で選択した色を消したい。 前回選択した記録を残せば良いでしょう 使っていないと思われるZ1セルに選択の記録を残しました。 Private Sub Worksheet_SelectionChange(ByVal Target As Range)   Dim sha As Shape, strRow As Long   'どの項目を選択しても1列~8列に色付けしました。   Cells(Target.Row, 1).Resize(, 8).Interior.ColorIndex = 6   '前回選択の記録が有れば色付けを消します。   If Range("Z1").Value <> "" Then     strRow = Range("Z1").Value     Cells(strRow, 1).Resize(, 8).Interior.Pattern = xlNone   End If    'Z1セルに今回の選択行を記録します。   Range("Z1").Value = Target.Row   For Each sha In ActiveSheet.Shapes     If sha.Name = "MTxt" Then sha.Delete    Next   With ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 0, 0, 1270, 80.6)     .Name = "MTxt"     .TextFrame.Characters.Text = _       "題名:" & Cells(Target.Row, 2).Value & Chr(13) & _       "内容:" & Chr(7) & Cells(Target.Row, 8).Value   End With End Sub

eokwave
質問者

お礼

watabe007 レベル12様 アクティブ行の「色変更」とアクティブセルの「内容」が、同時に実現できることを初めて知りました。「感謝」とか「感激」の言葉でお礼を申し上げたい気持ちです。しかし、私自身を振り返ってみると、VBA(Accessですが)の「複写」や「消去」の簡単なコマンドを手書きできるレベルであり、お教え頂いた構文を手直し「カスタマイズ」できる知識も力量はありません。親切(解説も付加)にアドバイス頂いているのに、レベルアップに繋げられず心苦しく思っています。今後、こうした機会(EXCELに関する質問)を多く持つことで、少しでもレベルアップ(アドバイスに報いる)したいと考えています。ありがとうございました。

関連するQ&A