スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[--/--/-- --:--] | スポンサー広告 | page top
Excel2003と2007/2010でファイルのやり取りするとかなりの確率で壊れる
以下のパターンでファイルをやり取りするとほぼ100%の確率でファイルが壊れる。

①元ファイル(2003) => ②2007/2010の人がファイルを上書きで更新 => ③また、2003の人が更新
③のときに、フォントの色や別フォントにしようとすると、Excelが落ちる。

2007/2010で編集すると、何か2003で扱えない情報が入るようだ。
本当は、Excel2007/2010を直してほしいが、2014年4月8日でExcel2003のサポート期限が切れるので、
今さら直さないだろうなと思っています。

そこで、ファイルが壊れた後に復旧をするマクロを作りました。
変更前①と変更後③で、単純なテキストの変更ぐらいであれば、この方法で問題ないはず。
変更後③のファイルの内容を①のファイルの同じセルにコピペするだけのものです。

以下、マクロの手順
(1)変更前①と変更後③のファイルのパスを指定する画面
(2)変更後③のファイルの「最後のセル」を取得
(3)A1セルから「最後のセル」まで、列→行の順にループ
(4)変更後③の各セルの値(value)を変更前①の同じセルの値(value)に代入

【最後のセル】
原則的には、データがある一番右下のセルですが、
データの削除を繰り返していると空白セルになることも多いです。

マクロでは、以下の1行
Selection.SpecialCells(xlCellTypeLastCell).Select
行番号と列番号(注:A、Bではなく1、2の形式)を知りたければ、
LastRow = Selection.Row
LastCol = Selection.Column

スポンサーサイト

テーマ:トラブル - ジャンル:コンピュータ

[2012/08/31 20:02] | Office | トラックバック(0) | コメント(0) | page top
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。