VBAでセルのコピーがおかしい??バグ??

このQ&Aのポイント
  • VBAでセルのコピーをする際に画面が揺れる現象が発生しています。画面更新は停止しているため、動作自体は見えませんが、何故画面が揺れるのか不明です。
  • 別の問題として、VBAでSheet2の入力規則をドロップダウンリストにし、内容に応じて他のセルのリストを変化させています。しかし、このプログラムをSheet1にコピーすると、値がおかしくなってしまいます。
  • VBAでセルのコピーとドロップダウンリストの連動に関する問題が発生しています。画面の揺れの原因やコピー先の値がおかしくなる問題について、解決策を教えてください。
回答を見る
  • ベストアンサー

VBAでセルのコピーがおかしい??バグ??

VBAでセルのコピーをする際におかしいことがあります。 詳しい方よろしくお願いします。 sheet2のA1からZ5の間に罫線と5個のセルに入力規則を貼ったものをただターゲットセルからオフセットした所へコピーするだけのプログラムなのですが画面更新を停止していてもブルブル揺れてしまいます。 しかし、画面更新は停止しているので動作自体は見えませんが画面が揺れます。何故なのでしょうか? また別の問題ですが、Sheet2の入力規則なのですが名前の定義とINDIRECT関数を利用して連動したドロップダウンリストにしています。 C1セルにドロップダウンリストを作りその内容に応じてD1~D5のリストを変化させています。 =INDIRECT($C$1)と固定してあるのですがこれをSheet1にそのままコピーしていくと値がおかしくなってしまいます。 動的に変化させるいい知恵は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • noah7150
  • ベストアンサー率46% (116/251)
回答No.1

該当シートには数式が大量にセットされてますか? もしかするとそれが原因かも 問題ないなら自動計算をVBA先頭で手動にして最後に自動に戻すとならなくなるかも(あまり自信ないけど) コピーでの問題ですがRangeのコピーコマンドを使うとCell位置情報は内容に合わせて自動補正されます 自動補正されたくなければ計算式を変数に取り出して自分で加工し該当Cellに計算式をセットする方法をとるしかないと思います。

関連するQ&A

  • エクセル、ドロップダウンリストで空白セルを非表示

    エクセル2013です。 Sheet1にドロップダウンリストを作成し、Sheet2のC列を参照したいです。 Sheet2のC列は日々入力され行数が増えていくのでリストの範囲を多めにしたいです。 入力規則 リスト-元の値 =Sheet2!$C$3:$C$20000 にしましたが Sheet2のC列はまだ1,000行くらいしか入力されていない為 ドロップダウンリストでリストを表示すると リスト内にて空白の部分の方が多く、検索が大変です。 NETで調べて 入力規則 リスト-元の値 =OFFSET(Sheet2!$C$3,0,0,SUMPRODUCT((Sheet2!$C$3:$C$20000<>"")*1)) としたのですが ドロップダウンリストには Sheet2のC列のセルC863までしか表示がされません。 Sheet2のC列はC1003まで値が有ります。 この関数のどこがわるいのでしょうか? よろしくお願いします。

  • ドロップダウンリストで空白の数式セルの非表示化方法

    以下の数式を入力したセルを参照して、氏名をドロップダウンリストから選べるようにしたいと考えております。しかし、下記の方法ですと、空白のセル(参照セルに値が無かった場合に空白""が返されたセル)が空白のままドロップダウンリストに表示されてしまい、目的の氏名をリストから探す時に手間がかかってしまいます。 <想定しているシート>    A       B       C        D 1                           2 3 氏名     物品     帳票氏名  重複判定 4 A川B男   ○○     A川B男     1 5 A川B男   ××                0 6 C田D夫   ▽      C田D夫      1 7 C田D夫   ◆                 0 5 C田D夫   □                 0 ※C4の入力数式: =if(D4=1,A4,"") ※C1セルの入力規則の元の値に =offset(C4,0,0,counta(C4:C1000),1) 上記の方法でも、C1セルのドロップダウンリストには空白を伴って氏名が表示される形となってしまいます。 このように、数式が入力された結果空白になっているセルを、ドロップダウンリストで非表示にする方法はないでしょうか? どうぞよろしくお願い申し上げます。

  • [Excel2000]セルの入力規則→リストのセルから出るドロップダウンリストが小さ過ぎなのは?

    エクセル2000での質問です。 [ツールバー]→[データ]→[入力規則]→[リスト]のセルから出るドロップダウンリストが 小さ過ぎるのはなぜでしょう? 入力規則を設定したセルも、設定時の元の値のセルでも書式を変更してみたのですが、 ドロップダウンリストは大変小さく変更されません。 ドロップダウンリストの書式(フォントサイズ)を変更する方法をご存知の方が おられましたらどうぞご教授ください。 お願いいたします。

  • エクセルで、入力制限(プルダウンリスト設定)されたセルへの保護のかけ方を教えてください。

    エクセルで、入力規則(ドロップダウンリスト)のついたセルの、保護設定の仕方を教えてください。現状、保護(シートの保護)をしても、ドロップダウンリスト設定されたセルは保護されず、変更可能な状態です。※もちろん、ドロップダウンリスト以外のセルは確かに保護されているのですが・・・。

  • EXCELのプルダウンで他のセルに反映させたいです

    ドロップダウンで選択した内容に応じて、他のセルに文章を反映させたいのですが、なかなかうまくきません。 いま入力しているのはこんな感じです。 Sheet1のA1にリストで あり,なし のドロップダウンを入力 Sheet2のB1にTEXT関数で 2月28日まで を入力 Sheet2のC1にTEXT関数で 3月31日まで を入力 Sheet3のD1に =IF(Sheet1!A1="あり",Sheet2!B1,Sheet2!C1) を入力 ありを選んだときに2月28日まで、なしの時に3月31日までを表示させたいです。 どうやったらできるでしょうか?

  • excelの ドロップダウンリストが表示されない

    入力規則のドロップダウンリストが表示されません、また、ALT+↓or↑でもリストが表示されません、対処法があれば、ご教授願いたくよろしくお願いします。 ■仕様 excel2000 ■症状 exelのドロップダウンリストを利用して、データを入力しているのですが、あるタイミング(データを入力してファイルが重くなっていくと)で突然、ドロップダウンリストが表示されなくなります。  またALT+↑or↓でもリストが表示されません。従いまして、入力規則→リストがリセットされているのかと思いきや、入力規則で設定したリスト以外は入力できないので、リセットできません。 ■原因(推定) 入力規則のリストを別シートに記載し名前を定義して、本シートの入力すべきセルで入力規則→リストを設定し、名前を読みにいってます。また、入力規則リストを157セルあり、複雑にしすぎてエクセルが混乱して、故障してしまったのかと思っています。 ■設定 ・入力規則のドロップダウンリストにチェックを入れています。 ・[ツール]→[オプション]の[表示]タブの「オブジェクト」で「すべて表示」を設定しています。

  • Excelのセルをリストから入力

    Excel2000ユーザーです。 任意のセルをリストからデータ入力(選択)するように設定した場合、リストに含まれない値を入力する方法はありますか? ■現状 [データ]→[入力規則]で入力規則プロパティ画面を表示し、 「入力規則の種類」:リスト 「元の値」:リストに含めるデータ 「ドロップダウンメニューから選択する」にチェック と設定しています。

  • エクセルで、条件が揃った時に複数セルをコピーする方法

    エクセルのセルに、例えば「○」と入れた時、指定したセルから他のセルへ文字情報がコピーすることはできますでしょうか。 一度にコピーしたいセルは4つほどで、規則性はありますがバラバラに散らばっています。 例えば、 1.シート1のA1セルに「○」と入力 2.シート1のB4内数値⇒シート2のA4セルに。 3.シート1のC6内数値⇒シート2のB4セルに。 4.シート1のD9内数値⇒シート2のC4セルに。 といった感じです。これらの動作を「○」を入れるだけで行いたいんです。 よろしくお願いします。

  • EXCELセルのコピー時 ドロップダウンリストは 

    Office 2016のEXCELについて質問いたします。 別のファイル(先月のシフト表)のセルを、今月のシフト表のセルにコピーしたさい、 セルの中の名前は正しく貼り付けできましたが、 先月のセルについていたドロップダウンリストがコピー・貼付けできていませんでした。 どこの設定を確認して、再設定するとドロップダウンリストの内容もコピー・貼付けできるのでしょうか、御指導をお願いいたします。  パソコンはWindows 8.1・ Office 2016を活用中です。

  • エクセル 結合セルでも関数は使える?

    セルA1,B1,C1を1つに結合したセルにデータの入力規則を設定しドロップダウンリストから任意の項目を選択できるようにしました。このあと、ドロップダウンリストから例えばAという項目を選択したら、aという文字が隣のセルに表示されるようにしたいのですがどういう関数を使用すればよいですか?又この隣のセルというのもD1,E1,F1までのセルを結合していますが、関数は使えるのでしょうか?

専門家に質問してみよう