データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ここはコードの無料作成所ではありません。
どこまでできていてどこが分からないのか具体的に投稿願います。
また、一般論ですが、VBAで取り扱う場合結合セルはがんと言えるくらいトラブルの元になります。
ですから、間違えなく個別の対応を要することになり、どんなケースでも動くコードと言うのはかなり難しいと考えます。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
エクセルの罫線について教えてください。
複雑な形(セルが結合されていたりいなかったり)の表がたくさんあり、罫線が全て「太線」でできています。
これを一度に「細線」に変換する方法(VBAなど)がありましたら教えてください。
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
質問作成者が受け入れた回答
ここはコードの無料作成所ではありません。
どこまでできていてどこが分からないのか具体的に投稿願います。
また、一般論ですが、VBAで取り扱う場合結合セルはがんと言えるくらいトラブルの元になります。
ですから、間違えなく個別の対応を要することになり、どんなケースでも動くコードと言うのはかなり難しいと考えます。
質問作成者が受け入れた回答
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
kmsa さん、こんにちは。
その後いかがでしょうか。
弊社 石田のコメントもご参考くださいね。
こちらの情報について、同じように疑問をお持ちの方にも参考にしていただければと [回答としてマーク] をさせていただきました。
マークした後でも、取り消すことや、さらに質問をすることができますので、ご不明な点がありましたら、ご遠慮なくマークを解除して引き続きご返信ください。
お試しになった結果など、その後のご様子を知らせていただけると、とても嬉しいです。
またお待ちしております。
黒田まい – Microsoft Support
ご回答とご指摘、ありがとうございました。
以前、こちらで簡単なマクロを教えていただいたことがありましたので、安易に質問してしまいました。
VBAに関しては初級者で、詳しく説明するのはなんとも難しいのですが、例えば、
「あるセルの上辺に太線が引いてあればそれを細線に変更する」
といった記述はできないものかと思って質問した次第です。