2007年7月29日日曜日

第27回目 計算式関係2

○第27回目 計算式関係2

【ちょっとしたアイデア】
 大きな表を作る場合が多い方などは、その表の終わり(行でも列でも)にカーソルを飛ばす場合、どうやっていますか。
 普通はCtrl+↓ですが、新規の表の場合は止まりません。
 そこで、
 列の場合であれば、PageDounで大きく動かして、あとは矢印キーでセルを選択する、となります。
 色々表を加工していくと、Ctrl+↓で止まるようになります。
 そこで、表の下の端、右の端に計算式を埋め込むマクロを作っておき、最初にそれを動かすことによって、表の端にアンカーを打ち込むというアイデアです。
 当然ながら、一回は表の範囲を指定する必要があります。
 
 範囲を指定してから動かす
 範囲の端の座標を取得する
 端の座標に何も入っていない場合は、ヌルをうめこむ計算式を設定する。
 (作業の途中で行なう場合、すでに必要なデータなりを入力した後だったことを考慮しています)
 
 これはもうこれまでの応用です。
 ・指定範囲の座標を取得し、列記号は列番号に変換する    第22回
 ・計算式が入っているか。データとしてヌルが入っているか。 第26回
 ・ヌルを与える計算式 『=""』
 
 やってみらたヌル式がうまくいきません。
 "は特殊な記号なので、
   Cells(gyo11 + i, retu19).Formula = "="""""
 というように与えなければなりません。
 文字としての"は、"で囲むということです。
 
 一部を掲載しておきます。
'列レベルの設定
For i = 0 To retu19 - retu11
If Cells(gyo19, retu11 + i).Formula = "" And Cells(gyo19, retu11 + i) = "" Then
Cells(gyo19, retu11 + i).Formula = "="""""
End If
Next i

 後はロジックの組み立てですのがチャレンジして見てください。
 ロジックの組み立てとしては、手ごろな例題です。
 
 表の下端・右端に、計算式として、sum関数を埋め込むのも便利かもしれません。
 これは一過程余計に必要。第26回参照
 

0 件のコメント: