質問: 可変行における変動するコピー開始位置の設定 vba初心者の 図2と3を見比べてみてください。 図1から必要な列だけを選択して1列丸ごとコピーするのですが 図2を見てください。1行丸ごと項目でつぶしているところがあり このままだと1項目づつコピーしなければなりません。その際、コピーするデータ量が一定ではないため、可変行における変動するコピー開始位置の設定が問題となります。 この手の話でよく出る、vbaの最終行指定offset+count index+countaはいずれも開始位置が固定した上で、終了位置の変動位置に対応するというものであり、この話には対応できません。 コピーした後、値を合計し(vbaのend xlup)追加行を挿入しないといけませんが、(vbaのresize10) いづれも、検索のみでは、開始位置が変動する場合の話はありませんでした。 そこで、考えた結果、フォーマットを変更することにしました(図3)。項目を列の一つと設定し、それにより開始位置を固定した上でデータを全項目一括でコピーすることにしたのです。 開始位置が固定した上で、データ量が変動する、コピー・合計の話はネット上によくあるので、今それを参考にコーディングしてる最中です。 どう思われますか?この話。かなり無駄があるような気がするのですが・・・・
回答: 画像がぼやけて見えない。補足で画像を大きく(狭い範囲を)あげることが出来ないなら、別質問したら。 色々書いているが、 ーー 自分の思考過程など長々と書いているが 文章でやりたいことの要点を絞れないのか。 また自分の生のデータ(画像)を質問に使わず、質問に適当な長さの、特徴を盛り込んだ、要点が判るデータを考えること。 ーー 左列や、上行に空白セルがあって、例えばデータの開始行や開始列を知りたいなら、end(xlup)やend(xldoun)を使えないのか。 例データ a1:b7 ーは空白セルをあらわす データ1データ2 ー - a - bx cy ーz ーu ーーーー sub test01() r = cells(1, columns.count).end(xltoleft).column 'msgbox r for j = 1 to r u = cells(2, j).end(xldown).row 'msgbox u 'msgbox rows.count d = cells(rows.count, j).end(xlup).row msgbox j & "列は" & u & "行から" & d & "行までデータがあります" next j end sub こういう問題でなければすみません。無視して。 ーー 表現 >図2と3を見比べてみてください。 >どう思われますか? 問題出題者のような表現になっている。質問する立場なのだから、考えて。