• 締切済み

マクロでセルに枠を付けるには

現在A列のセルにある"*"をクリックするとユーザーフォームが開くようになっています。そのユーザーフォームの中のチェックボックスをTrueにしてコマンドボタンを押すと"*"のある行のC列にチェックボックスの名前の文字が入るようになっています。更にコマンドボタンをもう一度押すと次の行に文字が入ります。そこでそのコマンドボタンを押したときなどに入力した行分の、B列からM列まで太枠を付けたいのですがどうしたらできるでしょうか?またできたらH列の左に縦の太枠をつけて、行と行の間は細い線の枠を付けたいのですがどうしたらよいでしょうか?

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

ご質問内容の機能のマクロが作れているのですから、罫線の引き方を「マクロの自動記録」で記録してみればあとは簡単では? 罫線オブジェクトは  Range.borders(種類) で種類はxlEdgeTop、xlEdgeRightなど 内側の罫線はxlInsideVerticalなどによって取得でき、これらに対して、 LineStyle(ラインの種類)、Weight(太さ)、ColorIndex(色)を設定すれば良いでしょう。

関連するQ&A

  • ご教授願います。

    エクセルのVBA初心者です。 期限が迫っているので、どなたかご指導、ご教授願います。 ここまでの経緯を説明いたします。 ユーザーフォーム1 オプションコマンド1 オプションコマンド2 ↑(楕円の○をつけるため) コンボボックス1 ↑(記録先シートを指定するため) テキスト1 テキスト2 テキスト3 テキスト4 ↑(A列の空白行を検索語A列%行にテキスト1 B列%行にテキスト2・・・) コマンドボタン1 コマンドボタン2 ↑(完了ボタンとキャンセルボタン) このようにユーザーフォーム1を構成致しました。()内は希望プログラムです。 なお、このユーザーフォーム1はシート1上に作成致しました、コマンドボタンAによって呼び出されるようにしています。 またシート1にはオプションボタン1,2と同じ名前が書いてあるセル1,2があります。 このように構成したうえで、行いたいプログラミングは下記のようになります。 コマンドボタンAでユーザーフォーム1を呼び出します。 オプションコマンド1(又は2)にチェックをいれ、テキストボックス1~4まで記入します。 そしてコマンド1でhideを使って一度隠します。 hideでユーザーフォーム1を隠しはしますが、コマンドボタン1を押すと、オプションコマンド1を同じ名前のセルには楕円の○マークがでます。テキスト1~4はコンボボックスで指定したシート先のA行の空白セルにA列%行 B列%行 C列%行 D列%行に各々記入されます。%は空白行です。 また選択したコンボボックスの内容はシート1の指定セルに記入されるようにします。 このようにしたいのですが、どなたかご教授願います。 説明が至らない点、またわがままなお願いではございますが、何卒お願い致します。

  • セルの値をテキストボックスに表示したい

    excelマクロ初心者です。教えてください。 <やりたいこと> 選択したセルと同じ行のうち特定の列のセルの値をフォームの テキストボックスに表示し、そのフォーム上で表示したテキスト ボックスの値をコマンドボタンでコピーしたい。 また、もうひとうつのコマンドボタンをおすと選択したセルと 同じ行の別のセルに"完了"と入力できるようにしたい。

  • ExcelVBAでセルをクリックしてユーザーフォームを表示するには

    OfficeExcel2003を使用しています。 ユーザーフォームのテキストボックスやコンボボックスに文字や数値を入力し、OKボタンを押せばエクセルのセルに記入できるようにしようと思ってます。 フォームはなんとか(形だけですが..)作成できたのですが、そのフォームを呼び出す方法として、入力したい行のA列のセルをクリックすればユーザーフォームが表示されるようにしたいのです。 ネット上でいろいろ検索してみましたがなかなか見つけることができませんでした。 初歩的な質問かもわかりませんが、教えて頂けないでしょうか。 宜しくお願い致します。

  • excel vba複数行入力可能なテキストボックスを上段から複数列に表示

    よろしくお願いします。 現在ユーザーフォーム上に3つのテキストボックス (複数行ではありません)があり、それぞれに文字を打ち込んで、コマンドボタンでセルに転記させているのですが、もっと効率のよい方法はないのかと思い探したもののなかったため質問いたします。 (複数行のセルにはありましたが、複数列のセルに転記がなかったため) 複数行入力可能なテキストボックスに入力された文字を上段から1行ずつA10からC10と列に転記したいのです。 こんな感じです テキストボックス |------| |AAA       |  |BBB       | |CCC       | |------| 複数行入力し(空欄の時もあります)コマンドボタンをクリックすると シート1の     A      B     C ・ 10 AAA   BBB   CCC

  • VBAのユーザーフォーム・・

    教えてください。 ユーザーフォームのテキストボックス・コンボボックスに入力した文字列をコマンドボタンを押したら、セルC1・B1に反映させたいのですが、できません。 このコマンドボタンには他のプログラムも入っており、同時にプログラムを実行したいのですが。

  • マクロでセル内を非表示にしたい。

    ユーザーフォームのオプションボタン1にチェックをすれば、特定のセル内にある数字を非表示、オプションボタン2にチェックをすれば、特定のセル内にある数字を表示というふうにするにはどのようにすればよいでしょうか? お願いします。

  • VBA ”あかさたなはまやらわ”で選択、リスト表示

    よろしくお願いします。 ユーザーフォームのコマンドボタン1をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 あいうえお(カタカナも含む)を選択してリストボックス1に リストとして表示する。 同じように ユーザーフォームのコマンドボタン2をクリックしたときは、 Sheet1のA2~A行の最終セルの中から先頭文字が、 かきくけこ(カタカナも含む)を選択してリストボックス1に リストとして表示する。 以後同じようにして”わ”まで繰り返す。 【A行の最終行は可変します】

  • チェックボックスのチェックによるマクロ処理の変更

    ユーザーフォームにチェックボックスとコマンドボタンを設置して、チェックボックスのチェックに応じて、処理を変えるにはどうしたらいいでしょうか。 具体的には、ユーザーフォームに例えば、 (1)チェックボックス  -りんご (=checkbox1)  -かき  -みかん  -もも (2)コマンドボタン  -春  -夏  -秋  -冬 のボタンがあるとします。 仮に、春のボタンには、 「Call 春」とプロシージャを読むようにしています。 春のプロシージャには、 例えば、 Sub 春()  If checkbox1=true then   range("A1").value="肥料"  End if End sub のように書いています。 チェックボックスのチェックの有無・結果に応じて、処理を変えたいのですが、これでは、checkbox1box1のチェックの結果がsubプロシージャに渡せないので、どのようにしたらいいのでしょうか。 よろしくお願い致します。

  • Excelで、検索してヒットしたセルの隣のセルに値を入力したい

    Excelで、「検索してヒットしたセルのとなりのセルに、特定の値を 入力する」という作業をスムーズにできる方法を考えています。 具体的には在庫のチェックに使います。A列に品名が6000件ほどあって、 検索してヒットした品名の隣のセル(B列)に"●"を入力する作業です。 ただし、その隣のセル(B列)にはあらかじめ"○"が入力されています。 現在のところ、  ctrl+F で検索 → 該当するセルに"●"をペースト  で処理していますが、もっと効率的な方法をご存じないでしょうか。 少しでもマウスを動かしたりするのを減らしたいのです。 一つ考えているのは、以下のようにマクロを利用することです。 ユーザーフォーム  テキストボックス(検索する文字列の入力用)  コマンドボタン1(検索用)  コマンドボタン2(次を検索)  コマンドボタン3(前を検索)  ラベル(検索してヒットしたセルの値を確認する用)  コマンドボタン4("●"を該当セルに入力する用) ここまでたどり着いたのですが、お手上げになりました。 このような考えを実現するコードをお教えいただけないでしょうか。 あるいは、もっと楽なやり方があるということでしたら、それも お教えいただけないでしょうか。よろしくお願いします。

  • VBAでセルの数値の計算

    現在ユーザーフォームのテキストボックスに数値を入力し、コマンドボタンをクリックするとSheet1のセルのA1に数字が入り、その後例えばテキストボックスの数字を変更して再度コマンドボタンをクリックするとA2・A3と続けて数字が入ります。そこで、コマンドボタンをクリックするとSheet2のセルA1にSheet1のA列の数字の合計が表示されるようにするにはどうしたら良いでしょうか??

専門家に質問してみよう