初めて投稿させて頂きます。

今まで自社で開発しているソフトを、エンドユーザー環境は
WINDOWS XP PRO/ACCESS2000(インストール)/VB6 SP6(インストール)
で納品していました。

ユーザーが処理するインターフェースはVB6のEXEのみ、
データはクライアントPC内にACCESS2000のMDBに格納されるのみです。

この度、エンドユーザーのパソコン新調につき、エンドユーザー環境が
WINDOWS7 PRO(SP1なし、HDDはRAID 1)/ACCESS2003(インストール)/VB6 SP6(インストール)
となりました。
対応するために、自社の開発環境は今までの旧エンドユーザー環境と同じ
WINDOWS XP PRO/ACCESS2000/VB6SP6 で開発し、
テストのため、エンドユーザーからデータを全て格納しているMDBを
WINDOWS 7 PROにコピーして移行し、EXEも上記開発環境で作成・コンパイル
したものをコピーしてテストしたのですが、作成したVB6プログラムの一つにて、
Visual Basic は応答していません
画面が出て、画面内の問題の詳細の表示をクリックして見てみると、

説明:
  問題が発生したため、このプログラムと Windows の対話が停止しました。
問題の署名:
 問題イベント名: AppHangB1
 アプリケーション名: VB6.EXE
~省略~

と出て、処理が次に進むまで1~3分待たされるという現象が起きます。
以下、その現象が発生するソースコードです。

------------------------------------------------------------------------
※ 参照設定はMicrosoft DAO 3.6 Object Library にチェック

Dim GlbJETWS As Workspace
Dim GlbJETDB As Database
Dim strSQL as String
Dim rs As Recordset

' lngMSCode は フォーム上の数値
' lngDno は フォーム上の数値

Set GlbJETWS = Workspaces(0)
Set GlbJETDB = GlbJETWS.OpenDatabase("C:\UserData.mdb")

strSQL = "SELECT * FROM JISSEKI"
strSQL = strSQL & " WHERE MSCode=" & lngMSCode & " AND DNo=" & lngDno
Set rs = GlbJETDB.OpenRecordset(strSQL, dbOpenSnapshot)
------------------------------------------------------------------------

最後の行、
Set rs = GlbJETDB.OpenRecordset(strSQL, dbOpenSnapshot)
を処理した段階で起こります。MSCodeとDNoは主キーに設定しており、
JISSEKIテーブルのレコード件数は約32,000件です。
必ず起こるという訳でもなく、一瞬で次に進む場合もあります。

色々調べてみましたが対処法がわからず困っています。
どなたか、対処法が分かる方がおられましたら、ご教授願います。
以下、Visual Basic は応答していません 画面の全文です。

説明:
問題が発生したため、このプログラムと Windows の対話が停止しました。

問題の署名:
問題イベント名: AppHangB1
アプリケーション名: VB6.EXE
アプリケーションのバージョン: 6.0.97.82
アプリケーションのタイムスタンプ: 403acf6c
停止時の署名: 437c
停止の種類: 0
OS バージョン: 6.1.7600.2.0.0.256.48
追加の停止時の署名 1: 437c62729313fb05a4c4360af8eaeafb
追加の停止時の署名 2: 93f1
追加の停止時の署名 3: 93f1a3ce5c07082e07212059c24879e4
追加の停止時の署名 4: 437c
追加の停止時の署名 5: 437c62729313fb05a4c4360af8eaeafb
追加の停止時の署名 6: 93f1
追加の停止時の署名 7: 93f1a3ce5c07082e07212059c24879e4

このQ&Aに関連する最新のQ&A

A 回答 (2件)

残念ながら同じ環境を作れませんので


私から申し上げることはありません。
こちらなどでご質問されては?と思います。
http://ap.atmarkit.co.jp/bbs/core/
Windows7 + VB6 では、32bit・64bit・UAC ・・・の問題も絡んでくるかも?
また、『問題が発生したため、このプログラムと Windows の対話が停止しました』

『AppHangB1』
で Google ってみてください。
なお、追加の停止時の署名は Google ってもヒットしませんので
解決の糸口にはならないと思います。
一瞬で次に進む場合はキャッシュを読んでいるのかな。

勝手な言い草ではありますが、こちらは閉じずにおいて
新たなコミュニティで質問されて、解決の折にはこちらにも
その内容を載せていただきたいと思います。
マルチポストを勧めるような発言なので恐縮です。
ご判断はそちらにお任せいたします。
    • good
    • 0
この回答へのお礼

UAC等、関連するのかなどは調べてなかったので調べてみます。
その後成果がなかったら、少し他の所でも質問してみようと思います。
どうもありがとうございました。

お礼日時:2011/04/20 09:29

確証はありませんが


Dim GlbJETWS As Workspace
Dim GlbJETDB As Database
Dim strSQL as String
Dim rs As Recordset

' lngMSCode は フォーム上の数値
' lngDno は フォーム上の数値

Set GlbJETWS = Workspaces(0)



Dim GlbJETWS As dao.Workspace
Dim GlbJETDB As dao.Database
Dim strSQL as String
Dim rs As dao.Recordset

' lngMSCode は フォーム上の数値
' lngDno は フォーム上の数値

Set GlbJETWS = dao.dbengine.Workspaces(0)

と省略しなかったら?
    • good
    • 0
この回答へのお礼

nicotinismさん、
早速の回答をありがとうございます。

回答下さった形に変更してみて再試行してみたのですが、
結果は変わらず、改善されませんでした。

Set GlbJETWS = dao.dbengine.Workspaces(0)
と記述して下さった所は、

Set GlbJETWS = dao.Workspaces(0)

Set GlbJETWS = dbengine.Workspaces(0)
のどちらかでないとダメでしたが、どちらも試して同じでした。

お礼日時:2011/04/16 14:21

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qder/die Muehe wert

Die Arbeit ist der(またはdie)Muehe wert.
アクセス独和辞書より。

wert は2格か4格を必要とする。
語順は wert のあとに der Mueheまたは die Muehe を置いてもよいのでしょうか?

Aベストアンサー

これはできません。形容詞を規定する語は形容詞の前に置きます。

類例
Er ist dem Affen aenlich.「彼はサルに似ている」

QVisual Basicで開発しているオープンソースフォーラムってないですか?

Visual Basicで開発しているオープンソースフォーラムってないですか?

一度、他人が作ったVisual Basicのソースを見てみたいです。

Aベストアンサー

CodeProject
http://www.codeproject.com/

SOURCEFORGE.jp
http://sourceforge.jp/softwaremap/trove_list.php?form_cat=186

Visual Basic オープンソース・クラブ
http://vb.i77.org/

とか。

QDAO3.0を削除したい

メモリーが1GBを超えるパソコンでは、DAO3.0を参照しているとエラーになりますので、DAO3.0を削除したい。
削除方法がわからず困っています、よろしく御願いします
DAO3032.DLLを削除すれば良いのでしょうか?それによる害はないのでしょうか?


環境は、windows2000sp4+access95+office2000(sp-3)のパソコンです。
access95を削除しても、DAO3.0が削除できません
※EXCELの標準モジュールのツール→参照設定の可能なライブラリファイルに表示される。

Aベストアンサー

こんばんは。

別に、参照設定の可能なライブラリであっても、参照自体しなけばよいのですが、何かで呼び出している可能性はないとは言えません。そのまま削除したら、それは単独で動いているわけではなく、依存性があるので、後で重大な影響が出ると思います。

通常、アップデートすればよいというか、Office 2000 があって、なぜ、DAOの下位バージョンが邪魔しているのか良く分からないです。もしかしたら、後から、Access 95をインストールしていたとか。Office 2000 を再インストールしてみたらどうでしょうか。

もしくは、以下で、全部新しくするかですね。Office 2000 は、DAO 3.6 ですから、別に問題はないと思います。また、下位互換バージョン(Compatibility) もインストールされているはずです。

http://support.microsoft.com/default.aspx?scid=kb;ja;239114
Microsoft Jet 4.0 データベース エンジン用の最新の Service Pack の入手方法

こんばんは。

別に、参照設定の可能なライブラリであっても、参照自体しなけばよいのですが、何かで呼び出している可能性はないとは言えません。そのまま削除したら、それは単独で動いているわけではなく、依存性があるので、後で重大な影響が出ると思います。

通常、アップデートすればよいというか、Office 2000 があって、なぜ、DAOの下位バージョンが邪魔しているのか良く分からないです。もしかしたら、後から、Access 95をインストールしていたとか。Office 2000 を再インストールしてみたらどうでし...続きを読む

QVisualBasic6.0 についてお知恵を拝借したく投稿させて頂きました。

VisualBasic6.0 についてお知恵を拝借したく投稿させて頂きました。
timer の中にFor~Next文を使用して10,000件のテキストデータを読み込み、Accessデータベースにデータを追加または更新していますが、DoEvents文を追加するとこのForループをぬけてしまいます。
何故このようになるのかが判りません。
というのも
Windows7(64bit)のパソコン2台の中でForループをぬけるパソコンと、Forループをぬけずに処理が継続するパソコンがあり、戸惑っています。
結局、ForループをぬけるパソコンのDoEvents文を付けずに処理することにしました。
2台のパソコンのWindows7(64bit)バージョンはさだかではないのですが、宜しくお願い致します。

Aベストアンサー

Windowsの基本的な動き方なのですが、いろいろなものがメッセージを受け付けながら処理をしていきます。

DoEventsは、いま処理をしている途中で、他の人にメッセージを受け付けていいよって宣言することです。

例えば、画面にボタンが10個あるとします。
あるボタンをおして、ずっとFor文でまわしてたら、他のボタンは押せないばかりか、
ウインドウも再描画されませんが、間にDoEventsを挟むと、他のボタンもおせるようになるし、画面も再描画されるようになります。

Forループを抜けるかどうかはその処理が終わるかどうかだと思います。
DoEventsは副作用ばかりがあるので、使いどこを間違えないように注意してください。

QDAOが読み込めない

VB2005でDAOを使って、データベースへアクセス(ODBCDirectのワークスペースを使用)しています。
※Microsoft DAO 3.6 object libraryは参照設定済です。
Public daodt As New dao.DBEngine
Public daows As dao.Workspace
(1)daows = daodt.CreateWorkspace("", "", "",dao.WorkspaceTypeEnum.dbUseODBC)
上記(1)の処理を実行すると下記のエラーがでます。
「System.Runtime.InteropServices.COMException( DLL '卍䑒㉏⸰䱄Lߑ' を読み込むことができません。)」
原因がわからず困っています。どなたかご回答いただけないでしょうか?何とぞよろしくお願いします。

Aベストアンサー

文字化けしている部分も明示してみましょう

> 卍䑒㉏⸰䱄Lߑ' を読み込むことができません。


UseTypeを指示した場合 当方ではエラーになりません

WinXP SP3 + VS2005 TS SP1 といった環境ですが ...

Qエクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。1度質問させて頂きましたが上手く

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず再度質問させて頂きました。

今開いいるシートに転送ボタンを作成します。このシートのセルC4からC27まで、もしくはC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送しようと思います。(行と列を入れ替えて2シート一括転送コピー。)
その際、転送先はシート保護をしておきたいのです。

Option Explicit
Private Sub CommandButton1_Click()
Call Macro1
End Sub

Sub Macro1()
Dim GYOU As Long

ActiveSheet.Unprotect

Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”
ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)

GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式1”).Range(”A2:AA2000”).Value

GYOU = .Sheets(”様式2”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式2”).Range(”A2:W2000”).Value

Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Close SaveChanges:=True

End with
Range(”A2:AA6000”).Value=””

End Sub


この様なマクロを組んでみましたがエラーメッセージが出て、止まってしまいます。
【エラー内容】
変更しようとしているセルまたはグラフは保護されているため、読み取り専用となっています。…
というコメントが出て、
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式
に黄色いラインが入ります。


どの様に修正すれば良いのでしょうか?
お手数をおかけして申し訳ございませんが、よろしくお願いします。

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず再度質問させて頂きました。

今開いいるシートに転送ボタンを作成します。このシートのセルC4からC27まで、もしくはC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送しようと思います。(行と列を入れ替えて2シート一括転送コピー。)
その際...続きを読む

Aベストアンサー

あわせて作り直しました。ただ「Range(”A2:AA6000”).Value=””」はどのシートか判らないので省きました。
---------------------------------------------------------------
Sub Macro1()

Dim GYOU As Long

Workbooks.Open Filename:="C:\共有\マクロ.xlsx"
With Workbooks("マクロ.xlsx")

.Sheets("様式1").Select
ActiveSheet.Unprotect
GYOU = .Sheets("様式1").Range("A" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Activate
Sheets("様式1").Select
Range("A2:AA2000").Select
Selection.Copy
.Activate
Range("A" & GYOU).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

.Sheets("様式2").Select
ActiveSheet.Unprotect
GYOU = .Sheets("様式2").Range("A" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Activate
Sheets("様式2").Select
Range("A2:W2000").Select
Selection.Copy
.Activate
Range("A" & GYOU).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Application.CutCopyMode = False
.Close SaveChanges:=True

End With

End Sub
---------------------------------------------------------------

あわせて作り直しました。ただ「Range(”A2:AA6000”).Value=””」はどのシートか判らないので省きました。
---------------------------------------------------------------
Sub Macro1()

Dim GYOU As Long

Workbooks.Open Filename:="C:\共有\マクロ.xlsx"
With Workbooks("マクロ.xlsx")

.Sheets("様式1").Select
ActiveSheet.Unprotect
GYOU = .Sheets("様式1").Range("A" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Activate
Sheets("様式1").Select
Range("A2:AA2000")...続きを読む

QDAOバージョンの変更

現在VB6.0、Win2000で開発を行っています。
そこで今まで意識していなかったDAOのバージョンについて教えて欲しいのですが
前提:PCにはDAO3.5がインストールされている
質問:DAO3.6に変更するには何のソフトをインストールすると参照設定が出来るのですか?

ちょっと調べたところ、「Access97」「Excel2000」を入れると出来ると思うのですが・・・

Aベストアンサー

ACCESS2000いれりゃ確実
ACCESS97だけで、3.6になることはないです。

もしなのに入っていたとしたら、何らかのアプリケーションをインストールしたときに、一緒に入っただけ。

ってかOffice97時代に3.6なんてなかったし。

それ以前に、何を作っているのですか?
Access2000との連携したDBアプリじゃなかったら、3.6を使わなくていいっスよ。

参考URL:http://homepage1.nifty.com/MADIA/vb/vb_bbs/200308_03080059.html

Qエクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。1度質問させて頂きましたが上手く

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず再度質問させて頂きました。

今開いいるシートに転送ボタンを作成します。このシートのセルC4からC27まで、もしくはC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送しようと思います。(行と列を入れ替えて2シート一括転送コピー。)
その際、転送先はシート保護をしておきたいのです。

Option Explicit
Private Sub CommandButton1_Click()
Call Macro1
End Sub

Sub Macro1()
Dim GYOU As Long

Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”

ActiveSheet.Unprotect

ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
Sheets(”様式1”).Activate
Sheets(”様式1”).Unprotect

GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式1”).Range(”A2:AA2000”).Value

Sheets(”様式2”).Activate
Sheets(”様式2”).Unprotect

GYOU = .Sheets(”様式2”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式2”).Range(”A2:W2000”).Value

Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Close SaveChanges:=True

End with
Range(”A2:AA6000”).Value=””

End Sub


この様なマクロを組んでみましたがエラーメッセージが出て、止まってしまいます。
【エラー内容】
変更しようとしているセルやグラフは保護されているシート上にあります。…
というコメントが出て、
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式2”).Range(”A2:W2000”).Value
に黄色いラインが入ります。


どの様に修正すれば良いのでしょうか?
お手数をおかけして申し訳ございませんが、よろしくお願いします。

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず再度質問させて頂きました。

今開いいるシートに転送ボタンを作成します。このシートのセルC4からC27まで、もしくはC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送しようと思います。(行と列を入れ替えて2シート一括転送コピー。)
その際...続きを読む

Aベストアンサー

よ~く、考えてコードを見てみましょう。
ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
Sheets(”様式1”).Activate
Sheets(”様式1”).Unprotect
保護を解除したのは、ThisWorkBookの  Sheets(”様式1”).Unprotect
本当は、Workbooks(”マクロ.xlsx”)
ではないでしょうか。
ならば
ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
.Sheets(”様式1”).Unprotect

QDAOでMSDEってOKですか?

お世話になっております。

Win95
Access2.0
Jetデータベース(MDB)

の環境を

WinXP 
Access2003
MSDE
の環境に移行する作業を行っております。

モジュール内でDAOのメソッドを多用しておりまして、

パフォーマンスや、システムの安定性に問題が無ければ
ADOへの変更ではなく
DAOでODBC経由で使用しようかと思っております。

MSDEの接続をDAOで接続する場合に、
リスクはありますでしょうか。

ご教授のほど、何卒よろしくお願いいたします。

Aベストアンサー

アーキテクチャがC/SならばDAOでもいいかと思います。
ただ、WEB方式だとコストが許すのであれば、ADOに書き換えておくのが無難でしょう。

設計の仕方にもよりますが、現状のシステムのコネクション部分、
つまりDAOをラッピングしてドメイン層に配置しているならADO接続に切り替えてもさほどコストもかからないと思います。

いままでの環境でうまくいっており、とくに要件が変わらないのであれば(大幅にクライアント数が増えるなど)対費用効果を考えると変える必要がないと思われます。

Qエクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。 1度質問させて頂きましたが上手

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず何度も質問させて頂き申し訳ございません。

今開いてる様式Aシートに転送ボタンを作成します。これとは別に様式Bシートを作り、様式AシートのセルC4からC27までと、様式BシートのセルC4からC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送しようと思います。(行と列を入れ替えて2シート一括転送コピー。)
その際、転送先はシート保護をしておきたいのです。

Option Explicit
Private Sub CommandButton1_Click()
Call Macro1
End Sub

Sub Macro1()
Dim GYOU As Long

Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”

ActiveSheet.Unprotect

ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)
Sheets(”様式A”).Activate
Sheets(”様式A”).Unprotect

GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式A”).Range(”A2:AA2000”).Value

Sheets(”様式B”).Activate
Sheets(”様式B”).Unprotect

GYOU = .Sheets(”様式2”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式B”).Range(”A2:W2000”).Value

Application.CutCopyMode = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
ActiveWorkbook.Close SaveChanges:=True

End with


End Sub


この様なマクロを組んでみましたが、転送先の様式1シートにはデータが転送されているものの保護が掛かっておらず、様式2シートは保護が掛かったままデータが転送されていない状態です。


どの様に修正すれば良いのでしょうか?
お手数をおかけして申し訳ございませんが、よろしくお願いします。

エクセルでマクロをし始めたばかりのため、皆様にお教え頂きたいです。
1度質問させて頂きましたが上手くいかず何度も質問させて頂き申し訳ございません。

今開いてる様式Aシートに転送ボタンを作成します。これとは別に様式Bシートを作り、様式AシートのセルC4からC27までと、様式BシートのセルC4からC23までのデータ(言葉や数値など)を、ボタンを押して、Cドライブ共有フォルダ内のマクロというブック、様式1ならびに2の名前のシートにセルB9,C9,D9…といったように縦並びから横並びに変えて毎日までに転送し...続きを読む

Aベストアンサー

動作の確認はしていません
Sub Macro1()
Dim GYOU As Long
Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”
ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)

.Sheets(”様式1”).Unprotect
GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式A”).Range(”A2:AA2000”).Value
.Sheets(”様式1”).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

.Sheets(”様式2”).Unprotect
GYOU = .Sheets(”様式2”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式2”).Range(”A” & GYOU & ”:W” & GYOU + 1880).Value
=Sheets(”様式B”).Range(”A2:W2000”).Value
.Sheets(”様式2”).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

.Close SaveChanges:=True

End with
End Sub

>③様式A,Bは特にプロテクト外さなくても大丈夫ではないですか?

動作の確認はしていません
Sub Macro1()
Dim GYOU As Long
Workbook.Open Filename:=”C:¥共有¥マクロ.xlsx”
ThisWorkbook.Activate
With Workbooks(”マクロ.xlsx”)

.Sheets(”様式1”).Unprotect
GYOU = .Sheets(”様式1”).Range(”A” & Rows.Count).End(xlUp).Row + 1
.Sheets(”様式1”).Range(”A” & GYOU & ”:AA” & GYOU + 1880).Value
=Sheets(”様式A”).Range(”A2:AA2000”).Value
.Sheets(”様式1”).Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

.Sheets(”様式2”).Unprotect
GYOU = ...続きを読む


人気Q&Aランキング

おすすめ情報