[Excel] エラー1004の原因と対処(VBAマクロでシートのコピーが失敗した話)

事象

ExcelのVBAマクロ内でシートのコピーを行おうとしたところ以下のようなエラーに遭遇。

?err.Description
移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。
?err.Number
1004

 

対処

Excelのofficeボタンから、『Excelのオプション』>『保存』>『ファイルの保存形式』で、『Excelブック(*.xlsx)』に変更する。

 

環境

Windows7, Excel 2007

 

同じような事象に遭遇した方

Excel2007でBOOK間のシート移動をVBAで行うとエラーになる

まさにコレですね。上記エラーメッセージは上記サイトから拝借。
(ポップアップ表示されたエラーメッセージ、なんでコピーできやんねん)

こちらで紹介されている回答コメントを参考に、上記対処を実施後にマクロを再実行したところ、無事解決。

 

参考:MSのサイト

Excel で、プログラムを介してワークシートをコピーすると「実行時エラー 1004 」が発生する

自動翻訳なので分かり辛いが、別の理由で発生するケースもあるっぽい。

 

マイクロソフトで学んだこと、マイクロソフトだからできること。
樋口 泰行

4492502165

関連商品
変人力―人と組織を動かす次世代型リーダーの条件
「愚直」論 私はこうして社長になった
スマホでアップルに負けてるマイクロソフトの業績が絶好調な件
グーグル、アップル、マイクロソフトに就職する方法
なぜ、あなたの仕事は終わらないのか スピードは最強の武器である
by G-Tools

[いつか役立つ] 外付けハードディスク(transcend)にアクセスできなくなった場合の対処方法

症状

プライベートPCのデータバックアップ用に利用している外付けハードディスク(transcend)が、以下のエラーを表示してアクセスできなくなりました。

「パラメータが間違っています」

直前に「ハードウェアを安全に取り外し~」を選択せずに、USB接続を解除したのが原因な気がします。

やりがちなんですが、壊れる時は壊れるということですかね。。

 

対処

こちらのサイトを参考にまずはchkdskを実行するも逢えなく失敗。

DOSプロンプトからも当然アクセスできません。

C:\WINDOWS\system32>chkdsk f: /f
ファイル システムの種類は FAT32 です。
ファイル アロケーション テーブル (FAT 1) の読み取り中にエラーが発生しました。
ファイル アロケーション テーブル (FAT 2) の読み取り中にエラーが発生しました。
読み取り可能なファイル アロケーション テーブル (FAT) がありません。

C:\WINDOWS\system32>cd f:
F:\

C:\WINDOWS\system32>f:
このボリュームは認識可能なファイル システムではありません。
必要なファイル システム ドライバーがすべて読み込まれているか、ボリュームが壊れて
いないか確認してください。

前述のサイトには、フリーウェアを使ってパーティションを修復すれば治せるかも知れないという情報が載っていたのですが、該当のハードディスクドライブにあるデータは全てPC内にも保存されているので(あくまでバックアップ用に保存してただけ)、ディスクのフォーマットを選択。

500GB程度のディスクですが、フォーマット自体は数分で完了。

物理的に壊れてはいなかったようで無事に復旧(使えるようになったという意味で)しました。

 

教訓

外付けハードディスクを取り出す際は、面倒でも必ず「ハードウェアを安全に取り外してメディアを取り出す」を行うようにします。

Transcend USB3.0/2.0 2.5インチ ポータブルHDD 耐衝撃 M3シリーズ 1TB 3年保証 TS1TSJ25M3

Transcend USB3.0/2.0 2.5インチ ポータブルHDD 耐衝撃 M3シリーズ 1TB 3年保証 TS1TSJ25M3
トランセンド・ジャパン
売り上げランキング : 206

Amazonで詳しく見る by G-Tools

[Windows] 論理CPU数、物理CPU数を調べる方法

  • 前提

調査対象のPCは、Windows7/2core/ハイパースレッドON

 

  • 調査方法

1.タスクマネージャ
「パフォーマンス」画面にて表示されるグラフの数で確認可能。
結果は4つ。論理CPU数。

2.setコマンド
DOSプロンプトを立ち上げて、setコマンド実行。
環境変数が表示されるので、その中からNUMBER_OF_PROCESSORS を確認する。
結果は4。これも論理CPU数。

3.systeminfoコマンド
システム情報の確認が可能。ちなみにとても遅い。
結果は以下の通り。個数は出ない?
「プロセッサ:             1 プロセッサインストール済みです。
[01]: Intel64 Family 6 Model 58 Stepping 9 GenuineIntel ~1196 Mhz」

 

正確に確認する方法を探し中。

 

マンガでわかるCPU
渋谷 道雄 十凪 高志

4274050610
オーム社 2014-11-28
売り上げランキング : 96596

Amazonで詳しく見る by G-Tools

[Windows8] lenovoG500でタッチパッドを無効化する方法

キーボード入力時に、やたらとタッチパッドが反応してしまうので、早速無効化してみた。

Windows8でのタッチパッド無効化は、コントロールパネルから実行可能。

・手順メモ
1.コントロールパネルを開き、[ハードウェアとサウンド]を選択。
2. [ハードウェアとサウンド]画面が表示されるので、[デバイスとプリンター]の[マウス]を選択
3.ELANタブ内で、タッチパッドの設定を行う。

lenovoG500の場合、外部USBマウスが挿入されているときは無効にする」なんて便利なメニューがあったので、迷わずこちらをチョイス。
 
 

これで文字入力もバッチリ!

ついでに、素敵なマウスパッド発見♪

おっぱい 立体マウスパッド☆AKB48 ☆ 大島優子 (おおしま ゆうこ) (水色)C コスプレ道具・小物 コスチューム おっぱい 立体マウスパッド☆AKB48 ☆ 大島優子 (おおしま ゆうこ) (水色)C コスプレ道具・小物 コスチューム

ライブフリー
売り上げランキング : 4760

Amazonで詳しく見る by G-Tools