[[20060511094920]] 『マクロをコピー?』(のんたん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロをコピー?』(のんたん)

 Excel2002,WinXP
 
 こんにちわ。行き詰ってしまったので質問させてください。
前任者から引き継いだデータ更新のAファイルにマクロが含まれています。
このたび、新しいデータを引き継いだファイルとまったく同じ形式でBファイルを更新することになりました。

 シート名右クリック→移動またはコピー→コピーを作成する

 で全体をコピーし(マクロを含む)、Bファイルに残っていた以前のデータを削除して、新しいデータを入力していったのですが、
マクロを使用すると、エラーが出ます。

 エラー名は「システムエラーです:&H80070057(-2147024809)パラメータが間違っています。」

 ++++
 コードは以下です。(多少省略)

 Sub a()

 i = 3
Do While (Cells(i, 1) <> "")
i = i + 1
Loop
wi = i
st = wi
i = 3
Do While (Sheets("row").Cells(i, 1) <> "")
Cells(wi, 1) = Sheets("row").Cells(i, 1)
Cells(wi, 21) = Sheets("row").Cells(i, 197) _
               + Sheets("row").Cells(i, 198) _
               + Sheets("row").Cells(i, 199) _
               + Sheets("row").Cells(i, 200) _
               + Sheets("row").Cells(i, 201) _
               + Sheets("row").Cells(i, 202) _
               + Sheets("row").Cells(i, 203) _
               + Sheets("row").Cells(i, 204) _
               + Sheets("row").Cells(i, 205) _
               + Sheets("row").Cells(i, 206) _
               + Sheets("row").Cells(i, 207) _
               + Sheets("row").Cells(i, 208) _
               + Sheets("row").Cells(i, 209) _
               + Sheets("row").Cells(i, 210)
Cells(wi, 32) = Sheets("row").Cells(i, 35)

 For k = 23 To 30
    Cells(wi - 1, k).Copy
    Cells(wi, k).PasteSpecial
Next k

 If (Sheets("row").Cells(i, 64) <> "") Then
Cells(wi, 22) = Sheets("row").Cells(i, 64) _
                + Sheets("row").Cells(i, 65) _
                + Sheets("row").Cells(i, 66) _
                + Sheets("row").Cells(i, 67) _
                + Sheets("row").Cells(i, 68) _
                + Sheets("row").Cells(i, 69) _
                + Sheets("row").Cells(i, 70) _
                + Sheets("row").Cells(i, 71) _
                + Sheets("row").Cells(i, 72) _
                + Sheets("row").Cells(i, 73) _
                + Sheets("row").Cells(i, 74) _
                + Sheets("row").Cells(i, 75) _
                + Sheets("row").Cells(i, 76) _
                + Sheets("row").Cells(i, 77)

 k = wi
Do While (Cells(k, 31) = "")
k = k - 1
Loop
Cells(k, 31).Copy
Cells(wi, 31).PasteSpecial

 End If

 i = i + 1
wi = wi + 1

 Loop
    ActiveSheet.Shapes("AutoShape 4").Select
    Selection.ShapeRange.IncrementTop -(st - wi) * 14.25
End Sub

 長くなってすみません。どなたかご教授いただけないでしょうか?
(のんたん)

 「&H80070057(-2147024809)パラメータ」を検索した結果報告
http://search.yahoo.co.jp/search?p=%A1%F5H80070057%28-2147024809%29%A5%D1%A5%E9%A5%E1%A1%BC%A5%BF&fr=top_v2&tid=top_v2&search.x=1&x=32&y=13
 (dack)最近忙しくてここに来る暇が・・・

 ありがとうございました。
読んでみたのですが、どうもよくわかりません。
ただ、自己解決したので書いておきます。
Loop
    ActiveSheet.Shapes("AutoShape 1").Select
                 ^^^
    Selection.ShapeRange.IncrementTop -(st - wi) * 14.25
End Sub

 オートシェイプが新しいファイルでは1になっていました。
マッチポンプみたいになってほんとすみませんでした。
(のんたん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.