• ベストアンサー

エクセルからAccessのIDでを検出させセル指定で抜き出し

KenKen_SPの回答

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.8

> ...2.xlsで実行をかけると1.xlsが勝手に立ち上がり ボタンに割り当てたマクロを 1.xls を開いていない状態で確認して 見て下さい。たぶん、1.xls へのフルパス付で書かれているはずです。 マクロは基本的に「そのマクロが書かれたブックを開いた」状態で 初めて動作します。 ボタンを押したとき、1.xls に書かれたマクロを呼び出しているわけ ですから、Excel は 1.xls を開きに行きますね。。 とりあえず、下記の点を修正します。   ' // 該当データがあった場合   With ThisWorkbook.Worksheets("Sheet1") ' <-- 書き込むシート名            ↓   ' // 該当データがあった場合   With ActiveWorkbook.Worksheets("Sheet1") ' <-- 書き込むシート名 これで、1.xls が立ち上がってきますが、現在アクティブなブックの Sheet1 に書き込まれるはずです。 1.xls が立ち上がる点については、気にしないようにするか、どう しても気になるならアドイン(XLA)にするしかありません。 私ならアドインにしますかね...ただ、その方法まで提示することは 本スレの趣旨から外れてしまいます。また、アドインにする以上は 厳重なエラートラップをすべきなので、データや仕様・環境を想像 しながら書けるものでもありません。ご容赦を。 頑張って下さい^^

BSR123
質問者

お礼

ありがとうございます とりあえずですがpersonal.xlsに一人ずつ設定完了させました 又、アドインへの移行は言語そのものを変更させなければならない(少しだけ?)為、現状は回避させていただきました。 これから少しづつ覚えるしかありませんね おかげさまでうまく、できたことをここでお詫び、お礼申し上げます。 ありがとうございました。

関連するQ&A

  • エクセルからアクセスへインポート セルに1000字

    エクセルからアクセスへシートをインポートする予定ですが とあるエクセルの列には文字が1000文字くらい入っています。 今まで何度かエクセルからアクセスへシートをインポートしたころがありますが エクセルで文字列型の場合はアクセスではテキスト型にになってしまいます。 テキスト型の最大フィールドサイズは255だと思いますが エクセルで1つのセルに1000文字入っていたら、すべてアクセスへインポートできるのでしょうか? アクセス2010です

  • エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。

    エクセルからアクセスへインポートしようとしたところ次のエラーメッセージが出てしまいました。 「貼り付け先の’T履歴’テーブルには’F29’フィールドがありません。」 エクセルのセル29列には、データが全くありません。28列までデータが入っています。 アクセスには29列ありますが、1行目はオートナンバーの履歴IDです。 アクセス側はマクロを使用しています。 エクセル側も入力シートからインポートシートに整理するのにマクロを使っています。 今までは問題なく出来ていたのですが、「取引先ID」という項目を双方に増やしてからエラーが出るようになりました。 こういう現象が起きる原因はどのようなことが考えられますか? F29っなんのことを指しているのでしょうか?

  • 《エクセル》 マクロ-セルの範囲指定の式

    いつもお世話になります。 2つお聞きしたいのですが、エクセルで、 ・「A列のデータのあるセル範囲のみを指定する」と、 ・「A列のデータのあるセル範囲の、隣(B列)のセルを指定する」 というマクロの式はどのように書けば良いのでしょうか。

  • エクセルの変数をアクセスでも使いたい。

    エクセルの標準モジュールには Option Explicit Public 文字列 As String Public アクセス As Object Public Sub エクセル側テスト() 文字列 = "あ" Set アクセス = GetObject("C:\db1.mdb") If Not アクセス Is Nothing Then アクセス.Run "アクセス側テスト" End If Set アクセス = Nothing End Sub アクセス(db1.mdb)の標準モジュールには Option Compare Database Option Explicit Public 文字列 As String Sub アクセス側テスト() MsgBox 文字列 End Sub という風にコードを書きましたが やはりアクセスではエクセルで指定した変数が受け継がれません。 これを「アクセス側テスト」のマクロでもmsgboxで「あ」と表示させるにはどうすればいいのでしょうか? よろしくお願いします。

  • Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい

    Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい 例えば、エクセルのあるセルに"A"が書かれていた場合、次にその列のセルに"A"書かれているまでは、続く列のセルには色をつけるようにしたいのですが、良い方法を教えて頂けないでしょうか? イメージ画像を添付します。

  • 【エクセル】セルの背景色を、PPTのように細かく指定したい。

    お世話になります。 エクセルにおいて、「セルの塗りつぶし」は、 40種類にしか無いのに対し、 パワーポイントだと、「その他の色」として、 クモの巣チャートの中から、 もっと細かく色を指定できて便利です。 エクセルでも、同様に41種類以上のカラー指定が できる方法があれば、教えていただきたいのですが、 いかがなものでしょうか? よろしくお願い致します。

  • 【Access】Excelインポート時にエラー

    お世話になります。 OS:XP Pro Access2003 Accessのフォーム上よりExcelをインポートするように作りました。 インポートする際にローカルにある空っぽのテーブル(データ型のみ指定有り) をコピーし、そこにExcelのデータをインポートするようにしてます。 今まで特に問題はないので、プログラム的には問題なさそうです。 で、今日Excelをインポートした際に「キー違反のため、0件のレコードが失われ、0件のレコードが削除されました」というエラーが発生しました。 フォームからではなくファイル⇒外部データの取り込み より当該Excelをインポートしても特にエラーにはならずインポートできました(A)。 エラー時に「はい」を選択すると、とりあえずインポートはされるのですが(B)、AとBを比較するとBの方が2レコード少ないことがわかりました。 その2レコードのIDを調べ、ExcelからそのID2行を削除しインポートしたところエラー発生せず。 とりあえず何かしら問題のある行は分かったのですが。。  ・その行のID以外のセルを全てまっさらにして、インポートしてもエラー。  ・この行の書式がおかしいと思い、別の行の書式をコピーしてはりつけ後インポートしてもエラー。  ・この行のリスト外のセルに余計なゴミがあるかもと思い、リスト外の列を全て削除するもエラー。  ・いったんこの2行をコピーして別シートに貼り付け。その後、リストから2行削除し、2行挿入して   コピーしておいた2行を値で貼り付け。で、エラー。  ・IDが重複していないことを確認。 今までエラーが出たとしても上記対処でエラーは解消されていたのですが、今回ばかりは何が原因かわかりません。 どのようなことが考えられますでしょうか。ご教授の程よろしくお願い致します。

  • エクセルでセルを指定する方法

    A列 B列 (1)   5 (2)   10 (3)   15 (4)   7 (5)  12 エクセルでB列の最大値(この場合15)が入っているセル(B3)から2つ上のデータ(B1なので5)と2つ下のデータ(B5なので12)を足すといったセルを指定する式を教えてください。

  • Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい

    Excelマクロであるセル条件を検出、他の決められたセルに色を付けたい その2 例えば、エクセルのあるセルに"A"が書かれていた場合、次にその列のセルに"A"書かれているまでは、続く列のセルには色をつけるようにしたいのですが、良い方法を教えて頂けないでしょうか? 対象となるシート(列方向)に、今回のパターンが複数存在し、 それぞれにこの処理を実施することを想定しております。 (イメージ画像を添付します)

  • EXCELで、指定セルにある文字列が入っていれば、別のセルに指定文字を入れたい

    EXCELで、指定するセルに、例えば「猫」という文字列が入っていれば、 別の指定セルに1という数字をいれ、 入っていなければ、0という数字を入れたいです。 IF関数を使えばよいのかと思ったのですが、 よくわかりません。 すみませんが教えていただけないでしょうか。