VBでエクセルファイルのセルを更新してエラーが発生する

このQ&Aのポイント
  • ACCESSのVBから、エクセルファイルのセルを更新してエラーが発生します。エクセルファイルによってさまざまな設定がされているため、書き込み禁止などの理由によってエラーが発生します。エラーメッセージを無視して強制的にセルの内容を書き込む方法はありますか?
  • エクセルファイルのセルをVBから更新しようとすると、エラーメッセージが表示されます。エクセルファイルには他のデータソースへのリンクが含まれているため、リンク情報の更新を促すメッセージが表示されるからです。エラーメッセージを無視してセルを更新する方法はありますか?
  • VBを使用してエクセルファイルのセルを更新するとエラーが発生します。エクセルファイルには他のデータソースへのリンクが含まれており、リンク情報の更新を促すメッセージが表示されます。エラーメッセージを無視してセルの内容を書き込む方法はありますか?
回答を見る
  • ベストアンサー

ACCESSのVBから、エクセルファイルのセルを更新して、エラーがでます

エクセルファイルによってはいろいろな設定をしています 例えば、書き込み禁止、など これらの類の理由で、エラーがでます 今回↓のエラー ------------------------------------------------------------ このブックには、ほかのデータソースのリンクが含まれています。 ーすべてのリンク情報を更新するには「はい」をクリックしてください ー既存の情報を保持するには、「いいえ」をクリックしてください ------------------------------------------------------------- がでます そこで質問ですが これらのメッセージを無視して 強制的に、セルの内容を書き込めないでしょうか なお、セルを更新するVBは下記のようです Xls3.Application.Goto "r" & myRow & "c" & myCollumn Xls3.Application.activecell.Value = myTxt 繰り返すと エラーメッセージを無視して 更新したいのですが よろしくお願いします

  • maaaa
  • お礼率91% (330/362)

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

ごめんなさい、勘違いです・・・ > このブックには、ほかのデータソースのリンクが含まれています。 > ーすべてのリンク情報を更新するには「はい」をクリックしてください > ー既存の情報を保持するには、「いいえ」をクリックしてください このメッセージは、エクセルのシートを開く際、リンク先の更新で更新するかしないかを聞いてきているので・・・ > Xls3.Application.Goto "r" & myRow & "c" & myCollumn > Xls3.Application.activecell.Value = myTxt の部分とは無関係です Workbooks.Open メソッドのUpdateLinks:=0を使用すれば、メッセージは出てきません

maaaa
質問者

お礼

ありがとうございました 助かりました 私にとって千金nい値打ちのある情報です

その他の回答 (1)

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

変数「Xls3」の型は、 ・「Excel.Application」 ・「Excel.Workbook」 ・「Excel.WorkSheet」 のどれを定義してきているものなのでしょうか? Xls3.Cells(myRow,myCollumn).Value = myTxt でも、行けそうな気はするのですが・・・

maaaa
質問者

お礼

回答ありがとうございました

関連するQ&A

  • VBでExcelファイルに書き込んで、、

    下記は本であった例題です↓。 'エクスポート先セルをRow(行)とColumn(列)の形式で指定する Xls.Application.Goto "r2c3" 'セルに値をエクスポートする Xls.Application.activecell.Value = "★彡☆彡" Xls.Application.Quit 'Excelを閉じる Set Xls = Nothing Debug.Print "Completed!!" End Function 質問ですが、 このVBを実行した後に、 「更新した内容を保存しますか」 と聞いてきます そこで、VBの中で、保存するようにするには? つまり、「保存しますすか」のメッセージを出さない ようにしたいのです よろしくお願いします

  • VBAでエクセルのデータ更新 セルを合併したところへ

    お世話になります VBA(ACCESSの)でエクセルに更新したいのですが 普通のセルには、うまくいくのですが 合併したセルに対して更新できません この場合何か方法がありますか、 何か手がかりだけでも、アドバイスいただけたら と、思います ちなみに、codingは 一行目のRow Columで、行列を指定して"data"と いうデータを更新するところ xls.Application.Goto "r" & x & "c" & y xls.Application.Activecell.Value = "data"

  • VBでエクセルのセルのバックカラーをつけるには?

    お世話になります 表題のように、VBを実行して、エケセルのあるセルに 色(赤)をつけたいのですが どうしたらいいか、アプローチを教えてください ちなみに下記のようなVBは実行して からくりが理解でしました ------------------------------------------ Function Excel_SelectSel_Export1() Dim Xls As Object Set Xls = GetObject("c:\vba\実践VBA.xls") Xls.Application.Windows(1).Visible = True 'ワークシートをアクティブにする Xls.Application.worksheets("sheet1").Activate 'エクスポート先セルをRow(行)とColumn(列)の形式で指定する Xls.Application.Goto "r3c2" 'セルに値をエクスポートする Xls.Application.activecell.Value = "★彡☆彡" Xls.Application.Goto "r4c2" Xls.Application.activecell.Value = "☆彡★彡" Xls.Application.Quit 'Excelを閉じる Set Xls = Nothing Debug.Print "Completed!!" End Function

  • Excelファイルを開くときにリンク先を更新するか聞かれないようにしたい

    Excel2000を使用しています。 あるxlsファイルを開くときに「別ファイルを参照しているので更新するかどうか」というようなダイアログが出てしまうので、リンクしているセルの式を消したいのですが、どのセルがリンクしているのかがわかりません。簡単にわかる方法はありませんか?

  • リンクデータが更新できない (エクセル2010)

    Access2003から出力したエクセルシート(A)をもとに、そのエクセルを他のエクセルシート(B)の所定のセルとリンクさせようと思っていますが、うまくいきません。 (A)はデイリーで更新される生データですが、セル位置は常に固定され、その中身や数量が変動します。 (B)は10枚以上に及ぶ所定のフォーマットで、ビジュアル的な加工がなされています。 なお(B)の構造上、Accessからじかに(B)に放り込むことは不可能(だと思っています)なので、一旦(A)として生データをエクセルに変換してから、(A)→(B)にリンクというのが目論見です。 まず(B)の各セルを(A)の該当セルとリンクさせました。 次に(A)の数値をマニュアルで変更したら、リンクしている(B)も当然更新されました。 しかしAccessから(A)の最新データを落としてから(B)を開いてデータソースへのリンク「更新する」ボタンを押しても、(B)が反応せず「ファイルを読み込めません」というエラーメッセージが出ます。 当然(B)の中のデータも更新されていません。 Access2003から出力される(A)がxlsなので、(B)もxlsの拡張子で作りましたがダメです。 何か解決する方法はありませんでしょうか?

  • Accessで空のExcelファイルを出力する方法について

    下記を実行した所、C:\excel.xlsのセルA1に「1」と記述されました。 【ソース】 Private Sub コマンド0_Click() Dim objExcel As Object Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open FILENAME:="C:\excel.xls" objExcel.Range("A1") = 1 objExcel.Application.ActiveWorkbook.Save objExcel.Application.Quit End Sub しかし、C:\excel.xlsが存在しない状態で実行すると下記のエラーメッセージが表示されました。 【エラーメッセージ】 実行時エラー '1004' 'C:\excel.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。 上記現象を回避する為には、毎回空のExcelファイルを出力した上でセルに値を書き込めば良いと思いましたが、空のExcelファイルを出力する方法が分かりませんでした。 その為、何かアドバイスをいただける方がいらっしゃいましたら、どうかよろしくお願いします。

  • エクセルで新たなファイルを開くマクロ

    【質問:1】 ○○○.xlsというファイル上で、 ボタンを押すと、 ×××.xlsというファイルを ”マクロを有効にする”で開いて、 (どちらもマイドキュメントに保存してあります) かつ、 ○○○からの自動リンクを反映させ更新し、 (通常ですとダイヤルログボックスがでますよね) ×××のシート1のA1セルをアクティブにする というマクロはどのように書けばいいでしょうか? 【質問:2】 ×××.xlsにおいて、 ボタンを押すと、 ×××を”保存せずに閉じ”て、 かつ○○○.xls(既に開いてあります)の シート1のA1セルをアクティブにする というマクロはどのようにかけばいいでしょうか?  よろしくご教示のほどお願い致します。

  • Excelでマクロを使いセルの内容をコピー貼り付け

    A1セルに111と入力してあるとします。 この時B1にaaa111aaaと入力するマクロを作りたいです。 A1に222があるとB1はaaa222aaaと入力したいです。 これをマクロで作ったのですが、次のようになり、A1の内容にかかわらず常にaaa111aaaとなってしまいます。 Sub Macro1() Range("A1").Select ActiveCell.FormulaR1C1 = "111" Range("B1").Select ActiveCell.FormulaR1C1 = "aaa111aaa" Range("B2").Select Application.Goto Reference:="Macro2" End Sub これのいらない行を削除し、コピーはA1の内容となるように修正して次のようにしました。 Sub Macro1() ActiveCell.FormulaR1C1 = Range("A1") Range("B1").Select ActiveCell.FormulaR1C1 = "aaa111aaa" Application.Goto Reference:="Macro2" End Sub まだペーストするときにA1の内容とならず直接入力となっています。 これをどう変更すればいいでしょうか?

  • エクセルでリンクが更新されない

    エクセルにて別ファイルをリンクしています。 セルには以下の記述があります。 =IF('C:\Documents and Settings\admin\My Documents\販売用\商品M\[在庫更新.XLS]在庫更新'!$A1="","",'C:\Documents and Settings\admin\My Documents\販売用\商品M\[在庫更新.XLS]在庫更新'!A1) この数式がA1000程になります。 ・このエクセルファイルを開くときに出るダイアログで「更新する」を選択しても更新されません。 ・メニューバー「編集」>「リンクの設定」の値の更新を行い、「状態」が「OK」になっても更新されません。 ・「リンク元の変更」を行うと更新されます。 出来れば、ファイルオープン時のダイアログで「更新する」を選択した際に、値が更新できるようにしたいのですがどうすればよいでしょうか?

  • Excel : 関数内からセルを更新したい

    実行環境は Excel 2000 です。 新規ブックに、 標準モジュールを追加し、 Function Test()   Cells(2, 2) = "OK"   Test = 2 End Function という関数を追加します。 Sheet1 の、 セル「A1」に「10」を入れます。 セル「A2」に「=Test() + A1」 セル「A1」を変更すると、 関数「Test()」が呼び出されます。 このとき、コードのように、B2 のセルに「OK」を 表示させたいのですが、 「アプリケーション定義またはオブジェクト定義のエラーです。(1004)」 のエラーが発生してできません。 マクロやボタンなどのイベントプロシージャでは可能なのですが、上記のようにセルに組み込んだ関数が、 更新により実行された場合はできないのでしょうか? (Cells の指定を Workbooks(1).Worksheets(1).Cells(2, 2) としてもダメでした) (「書式」→「セル」→「保護」→「ロック」はチェックされていません) すみませんが、よろしくお願い致します。

専門家に質問してみよう