Excel VBA質問箱 IV

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

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


767 / 13645 ツリー ←次へ | 前へ→

【78452】見出しの下側に「二本線」 くまはち 16/9/24(土) 16:11 質問[未読]
【78453】Re:見出しの下側に「二本線」 β 16/9/24(土) 16:23 発言[未読]
【78454】Re:見出しの下側に「二本線」 くまはち 16/9/24(土) 16:26 質問[未読]
【78455】Re:見出しの下側に「二本線」 β 16/9/24(土) 16:31 発言[未読]
【78461】Re:見出しの下側に「二本線」 16/9/25(日) 10:30 発言[未読]

【78452】見出しの下側に「二本線」
質問  くまはち  - 16/9/24(土) 16:11 -

引用なし
パスワード
   3.表の2行目(A2:I2)の見出し行の体裁(書式)を変更するステートメントを次の条件で作成してください。
【作成条件】
 ・セル「A2」を基準に「End」プロパティで右の終端セルまでを見出し範囲として参照する
 ・Withステートメントを使用し、参照したオブジェクトに対する処理を簡潔に記述する
  (※以下はWithステートメント内のオブジェクトに対する処理 )
 ・フォントのスタイルを「太字」にする
 ・「ColorIndex」プロパティのインデックス番号「16」で参照セル範囲の塗りつぶしを行う
 ・文字の配置をセルの中央(縦横)にする
 ・「Borders」プロパティで見出しの下側に「二本線」の罫線を設定する

以下の式であってますか?


Range("A2").End(xlToRight).Select


With Range("A2")
.Font.Bold = True
.Interior.ColorIndex = 16
.HorizontalAlignment = xlCenter
.Range("A2".xlToRight).xlEdgeBottom


End With

End Sub

【78453】Re:見出しの下側に「二本線」
発言  β  - 16/9/24(土) 16:23 -

引用なし
パスワード
   ▼くまはち さん:

>3.表の2行目(A2:I2)の見出し行の体裁(書式)を変更するステートメントを次の条件で作成してください。

提示の条件通りにシート上の操作を行うことはできますよね?
(最終列については、まずは固定でもいいです)
それをマクロ記録してみましたか?
どういう設定コードになるかがわかるはずですが?

>以下の式であってますか?

仮に、間違ったコードのマクロを実行しても、PCが爆発することはありません。
実際に実行してどうなるかを確かめてみてはいかがですか?

●質問は、上記2点を行ったうえで、コードを組み立て、実行して、

 結果が思わしくない、このコードでこのエラーになった。どうしたらいいか。

 こうされてはいかがですか?

 

【78454】Re:見出しの下側に「二本線」
質問  くまはち  - 16/9/24(土) 16:26 -

引用なし
パスワード
   ▼β さん:
実行してみたところ

.Range("A2".xlToRight).xlEdgeBottom

にエラーが発生してしまいましたが原因がわかりません。


>▼くまはち さん:
>
>>3.表の2行目(A2:I2)の見出し行の体裁(書式)を変更するステートメントを次の条件で作成してください。
>
>提示の条件通りにシート上の操作を行うことはできますよね?
>(最終列については、まずは固定でもいいです)
>それをマクロ記録してみましたか?
>どういう設定コードになるかがわかるはずですが?
>
>>以下の式であってますか?
>
>仮に、間違ったコードのマクロを実行しても、PCが爆発することはありません。
>実際に実行してどうなるかを確かめてみてはいかがですか?
>
>●質問は、上記2点を行ったうえで、コードを組み立て、実行して、
>
> 結果が思わしくない、このコードでこのエラーになった。どうしたらいいか。
>
> こうされてはいかがですか?
>
>

【78455】Re:見出しの下側に「二本線」
発言  β  - 16/9/24(土) 16:31 -

引用なし
パスワード
   ▼くまはち さん:

>.Range("A2".xlToRight).xlEdgeBottom
>
>にエラーが発生してしまいましたが原因がわかりません。

でしょうね。エラーになります。
私が申し上げたのは、まず操作をマクロ記録する。そうすると必要な設定コードが自動生成される。
それを参考にして、コードを書いてみる。
で、それを実行してみる。

ということです。

.Range("A2".xlToRight).xlEdgeBottom

という記述そのものが、VBA記述ルールから見るとめちゃくちゃですので。
マクロ記録で出来上がるコードを見れば正しい書き方がわかるはずです。

あとは、固定で操作をした A2:●2 という領域を変数化すればいいんですよ。
ここがわからなければお手伝いしますが、まず、できるところ(できるはずです)までやってみましょう。

【78461】Re:見出しの下側に「二本線」
発言    - 16/9/25(日) 10:30 -

引用なし
パスワード
   こんにちは。

宿題ですか?
もしそうなら、教科書をひっくり返して見れば
正解か大ヒントが載っているんじゃないですか?


> ・Withステートメントを使用し、参照したオブジェクトに対する処理を簡潔に記述する
ここに出てくる【参照したオブジェクト】とは、問題文で1行上にあるコレ↓ですよね。
> ・セル「A2」を基準に「End」プロパティで右の終端セルまでを見出し範囲として参照する

となると
>With Range("A2")
Range("A2")は違うんじゃないですか。問題文をそのまま当てはめたら
 With 参照したオブジェクト
 With セル「A2」を基準に「End」プロパティで右の終端セルまで
 With 見出し範囲
こういう形にならないと、出題の意図に合いません。
出題の意図に合わなければ、たとえコードは動いても、宿題としては×です。

二重線を引くところも
>「Borders」プロパティで「二本線」罫線
Bordersという語はコードの中で絶対に使わないといけません。


というのを念頭に、βさんご推奨のマクロの記録をやってみたらいいんじゃないですか?
記録するのは下罫線の部分だけで十分かなとおもいます。

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