|
あまりに間違いの多いコードで申し訳ありませんでした。
教えてもらう立場で、非常に失礼しました。
違うところからコピーしてしまったため、このように間違いだらけになってしまい本当にすいません。
以下文中に →で回答しました。
>シートが"元"、"OK"、"OK2"、"抽出"、"エラー"、"joblog"
>とあるようですがそれぞれ甲Book、乙Bookどちらのシートでしょうか?
→これは乙Bookです。マクロは乙Bookで動かしているものと考えてください。
甲Bookはデータを参照するためだけのものと考えてください。
>最初の質問にあった”ア”、”イ”のシートは"OK"、"OK2"に
>置き換えられたと考えて良いですか?
→そのとおりです。
>
>>1.マクロ11
>>Sub test1()
>の中で
>> With Worksheets("甲").Range("A1") '★ここのWithを整理したい。
>これは Worksheets("元") のことですか?
→これは、甲BookのA1:B4を、乙BookのOKシート、OK2シートの同じ場所にコピーをさせる記述です。同じ記述の繰り返しなのでスマートにすっきりさせたいと思いました。
>> ’★ここで、「甲.xlsは変更されています。保存しますか?」のMsgボックスが出てくるが、自動的にNo(保存しない)を選択して閉じたい
>甲.xlsは保存しなくて良いのですか?
→甲.xlsは参照するだけですので、基本的に保存更新はしたくありません。
フィルタがかかっている状態で閉じようとしたため、このようなメッセージが出ていました。
>>2.マクロ12(1-2-1と1-2-2をくっつけました)
>>Sub FromTo作成()
>の内で
>
>> Set WS4 = Worksheets("抽出")
>> Set WS4 = Worksheets("エラー")
>WS4は"エラー"シートになります。
>"抽出"シートは変数名を変えないと設定されません
→Set WS5 = Worksheets("エラー") の記述ミスです。
>> Dim FT As String
>>
>> With WS1.Range("A1")
>> FT = (WS1.Range("N2").Value = WS1.Range("P2").Value)
>>
>> If FT = "False" Then
>> .Range("N1:N65536").Copy Destination:=WS2.Range("A1")
>> .Range("P1:P65536").Copy Destination:=WS2.Range("B1")
>> .Range("D1:D65536").Copy Destination:=WS2.Range("F1")
>> .Range("X1:X65536").Copy Destination:=WS2.Range("G1")
→ ×WS2 ○WS4です。
>> Else
>> .Range("N1:N65536").Copy Destination:=WS2.Range("A1")
>> .Range("O1:O65536").Copy Destination:=WS2.Range("B1")
>> .Range("Q1:Q65536").Copy Destination:=WS2.Range("C1")
>> .Range("D1:D65536").Copy Destination:=WS2.Range("F1")
>> .Range("X1:X65536").Copy Destination:=WS2.Range("G1")
→ ×WS2 ○WS5です。
>最初の質問でシート”イッチ”、”チガウ”に分かれていたので
>それぞれ"抽出"、"エラー"になるのですか?
>> WS4.Activate
>そうするとこれはどちらでしょう?
→そのとおりです。イッチ=抽出、チガウ=エラーです。
WS4.Activateは、抽出シートを最後に表示させたいと考えています。
>最後に、これらのコードは乙Bookから実行されると考えて良いですか?
→まさにそのとおりです。
今見返してもなんて失礼な質問投げだろうと本当に後悔しています。
それでも親切に噛み砕いてくだっさて感謝しています。
よろしくお願いします。
|
|