|    | 
     ▼つぐみ さん: 
 
いったん追加メモをアップしましたが、説明に不備があったので削除しました。 
不備を訂正して、以下、再掲します。 
 
================================================ 
 
追加です。 
 
>・自動マクロを有効活用する。 
 
データ最終行を求めるために、End関数でシート最終行から上方向に検索しました。 
もう1つ、A列のデータ最終行までに空白セルがまい場合、 
A1から下方向に検索して求める方法もあります。 
 
maxRow = Range("A1").End(xlDown).Row 
 
 
A1を選択して、Shft/↓(下矢印キー) を押す操作をマクロ記録すると、 
このコードの要素も含めたコードが自動生成されます。 
 
また、処理そのもので、提示された例で言いますと以下の方法もあります。 
(B列とD列のデータ最終行までに空白セルがないという前提ですが) 
 
1.D2を選択 
2.Ctrl/Shift/↓ これで、D2からD列のデータ最終行までのセルが選択されます。 
3.Ctrl/c でコピー 
4.C1を選択して、Ctrl/v でペースト 
3.B2を選択 
2.Ctrl/Shift/↓ これで、B2からB列のデータ最終行までのセルが選択されます。 
4.C2を選択して、形式を選択して貼り付け。除算にチェックを入れてOK. 
5.ESCキーをおして、コピーモードを解除。 
 
こうすることでも、単価が計算されます。 
で、これをマクロ記録しますと、フルセットの処理コードが生成されます。 
生成されたコードは、データが何行になろうと、利用可能です。 
 
 | 
     
    
   |