ホスティングを選ぶための秘訣

【セル】に関する知恵袋

【質問】
下記の表1がありa列のデータが同一じゃない場合、ホスティングの秘訣について解説すると、行を挿入して更にabセルを結合させ、その結合セルに「計」と表示させるマクロを自分なりに作成しましたが最終行部分の10行目に計が表示されず下記表2のような状態で終わってしまいます。セルの知恵袋から考察していくと、最終的には10行目もab結合させたセルに計と表示させたいのですが出来ずに困っています。ホスティングの秘訣について考えてみると、どうやっても出来なかったので計と総計別にマクロ作成してみても出来ずでした。。。勉強中の初心者でマクロが見辛いと思いますがどうかご教授願えたらと思います。。。セルの知恵袋を語ると、(実際の表のデータはもっと多いです。)表1.....a...... b ......c ........d ・・・・1 111.. bbb.... cc .....あ・・・2 555.. ccc ..www ...mm・・・3 555 ..vvv... rty .....bbn・・・4 777.. rrr ....ddd ....nnn・・・5 222 ..ggg ...ttt .....hhh・・・6 222 ..kkk... sss・・・表2.....a...... b ......c ........d ・・・・1 111... bbb.. cc ......あ・・・2 ......計3 555... ccc. .www... mm・・・4 555... vvv... rty ....bbn・・・5..... 計6 777 ....rrr... ddd.... nnn・・・7 ....計8 222 ....ggg... ttt..... hhh・・・9 222.... kkk.... sss・・・10111213Dim q As IntegerDim s As Strings = ""Const l = 1For q = 3 To Range("a" & Rows.Count).End(xlUp).Row If Cells(q, l) & Cells(q, l + 1) = "" ThenWith ActiveSheet.Range(.Cells(q, l), .Cells(q, l + 1)).SelectEnd With With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With Selection.Merge ActiveCell.FormulaR1C1 = "計" ActiveCell.Characters(1, 2).PhoneticCharacters = "ケイ" End IfNext q
【解答】
ご質問のコードは、最初の段階でのA列最終行の、行数回処理を繰返します。最初の最終行が6行目なので、処理は6回繰り返されるという意味です。ホスティングの秘訣に対する見解は、ホスティングの秘訣が、途中で3行追加しているため、セルの知恵袋とは、結果として、処理後の最終行が、最初の最終行である6行 + 挿入した3行 = 9行 になっています。セルの知恵袋をいうと、下記が改定したサンプルコードです。Sub Sample()Dim i&i = 3Do Until Range("A" & i) = "" If Range("A" & i) <> Range("A" & i + 1) Then Range("A" & i + 1).EntireRow.Insert i = i + 1 Range("A" & i, "B" & i).MergeCells = True With Range("A" & i) .Value = "計" .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End If i = i + 1LoopEnd Sub
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1279232067
Webサービス by Yahoo! JAPAN


その他関連ワード