次の方法で共有

エクセルの罫線の太さを変えたい

Anonymous
2010-10-26T02:40:03+00:00

エクセルの罫線について教えてください。

複雑な形(セルが結合されていたりいなかったり)の表がたくさんあり、罫線が全て「太線」でできています。

これを一度に「細線」に変換する方法(VBAなど)がありましたら教えてください。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2010-10-26T11:35:38+00:00

ここはコードの無料作成所ではありません。

どこまでできていてどこが分からないのか具体的に投稿願います。

また、一般論ですが、VBAで取り扱う場合結合セルはがんと言えるくらいトラブルの元になります。

ですから、間違えなく個別の対応を要することになり、どんなケースでも動くコードと言うのはかなり難しいと考えます。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2010-10-28T06:36:52+00:00

y sakuda さん、コメントありがとうございます。

kmsa さん、こんにちは。

例えば、ひとつの表の場合、[セルの書式設定]-[罫線] タブより上辺の線の太さを変更という事はできるかと思うのですが、そうではなくて、ひとつのシート(もしくは複数のシート)に複数の表があって、ひとつひとつ設定していると時間がかかるため、 VBA を利用して罫線の設定を一括で変更したいという事でしょうか?

その場合ですが、y sakuda さんからも投稿いただいたように、作業の上で不明な点や具体的にどのような手順で VBA を実行したいのかがわかるとよいかなと思います。

例えば、あるシートのセルを複数範囲で選択後、VBA を実行し、選択範囲のセルの上辺に太線が設定されている場合は、それを太線に変えたいという場合は、以下のようなコードが利用できるのではと思います。

  Dim ran as Range

 For each ran In Selection                           

    IF ran .Borders(xlEdgeTop).Weight = xlThick Then

        ran .Borders(xlEdgeTop).Weight = xlThin   

    End IF

  Next

これは、Selection オブジェクト内のデータを For each ステートメントを利用し、ひとつひとつ Range オブジェクトとして格納してチェックし、セルの上辺に太線が設定されている場合は細線に変更、それ以外は処理をスキップするという処理になります。

あくまでもこれは一例ですので、kmsa さんの方でもまずは挑戦いただき、ここまで試してみたけどこれについてどうしても出来なかったなどの返信をいただけると、みなさんからの「じゃあ、こんな方法はどう?」などの様々なアドバイスがいただけるのかなと思います。

よろしくお願いします。


石田 優 – Microsoft Support

この回答は役に立ちましたか?

0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2010-11-10T10:03:35+00:00

    kmsa さん、こんにちは。

    その後いかがでしょうか。

    弊社 石田のコメントもご参考くださいね。

    こちらの情報について、同じように疑問をお持ちの方にも参考にしていただければと [回答としてマーク] をさせていただきました。

    マークした後でも、取り消すことや、さらに質問をすることができますので、ご不明な点がありましたら、ご遠慮なくマークを解除して引き続きご返信ください。

    お試しになった結果など、その後のご様子を知らせていただけると、とても嬉しいです。

    またお待ちしております。


    黒田まい – Microsoft Support

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2010-10-26T23:40:53+00:00

    ご回答とご指摘、ありがとうございました。

    以前、こちらで簡単なマクロを教えていただいたことがありましたので、安易に質問してしまいました。

    VBAに関しては初級者で、詳しく説明するのはなんとも難しいのですが、例えば、

    「あるセルの上辺に太線が引いてあればそれを細線に変更する」

    といった記述はできないものかと思って質問した次第です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません