|
▼kanabun さん:
お世話になっております。
私の説明が下手なようで、すみません
↓こちらの件ですが、
>ぼくがあげた別Book(sheet2)レイアウト例では
> 列の構成が (Sheet1)とまったく同じで、
> kanabun(Sheet2)も、日付列が【D列】にありましたが、
>みどりさんのコードでは (Sheet2)から日付?を検索するとき
>> Set 検査範囲 = Sheets("sheet2").Range(N1:N500)
>> 行番号 = Application.WorksheetFunction.Match(Cel,検査範囲,0)・・←※ココ
>と、【N列】を参照されてます。
・・大変失礼しました。こちらでの説明用として下記のDに日付がはいっている↓の表を作らせていただきました。列の構成は両シートまったく同じです。が
A B C D E ・・・・・
1 番号 県名 名前 日付 ***・・・・・
1 1 北海道 佐藤 20080807 ***
・・実際に検索したい日付は(N列)に入っております。
jaka様、kanabun様にご不快な思いをさせてしまい、申し訳ありませんでした。
お詫び申し上げます。
D列に日付データをもっていき
’Set 検査範囲 = Sheets("sheet2").Range(D1:D500)
’行番号 = Application.WorksheetFunction.Match(Cel,検査範囲,0)
’Range("A" & 行番号).Select
↑ この3つを稼働させないようにしてステップインしていきましたら
コピー・貼り付けはうまくいきました。(貼り付け場所は指定できないですが)
1.転記前、転記後の(sheet2)のレイアウトのサンプルを見せてください
お手数をおかけします・
(sheet2/転記前)
A B C ・E ・・・ N ・・ P
1 番号 県名 名前 ・・ 日付 ・・・
1 1 北海道 佐藤 ・・ 20080807 ・・・
2 2 青森 伊藤 ・・ 20080807 ・・・
3 3 茨城 高橋 ・・ 20080808 ・・・
4 4 大阪 青木 ・・ 20080809 ・・・
5 ・
↓
最新版データの20080809でオートフィルタをかけ表示されたものA列からすべてコピーして・・
(sheet2/転記後)
A B C E ・・・ N ・・ P
番号 県名 名前 ・・ 日付 ・・・
1 1 北海道 佐藤 ・・ 20080807 ・・・
2 2 青森 伊藤 ・・ 20080807 ・・・
3 3 茨城 高橋 ・・ 20080808 ・・・
4 5 福岡 山田 ・・ 20080809 ・・・ ←貼付分
5 10 沖縄 三浦 ・・ 20080809 ・・・ ←貼付分
※転記前古いデータの大阪 青木 20080809 の上から貼り付ける。
・
>2.抽出元シート(sheet1) AutoFilterではなく、D列を順に条件にあう
> 行を(Sheet2)へコピーするとしたら、
> 手作業で、どうするか、
> どの列をどの列にCopyするとかの 手順を具体化してください。
> 手作業のマクロ記録があればもっといいです。
>3.(sheet2)のどこにコピーするか、
> (sheet2)の対応する日付が複数あったばあい、手作業で何らか
> の判断をして行を特定されていると思いますが、どのように
> 判断していますか? それを言葉にしてみてください。
・・作業の前に貼り付けたい最新版の日付(例20080809)の数とsheet2(20080809)の日付を関数カウントで数えておきます。
sheet2の行が足りなかったら行の挿入で増やします。
その際に20080809が始まる両シートの最初・最後の行番号を確認しメモなどします。
最新版側ファイルのsheet1から20080809最初の行(例:A100)に
カーソルを持っていき範囲指定で20080809の最後の行(例:P200)まで
コピーします。
・列の構成が両シート同じなのでsheet2のが20080809の始まる行(例:A90)
から一気に貼り付けます。
オートフィルタがなかったらこのように作業しようと考えております。
>4.確認ですが、 20080809 とかは 数値ですか?
・・・いえ、書式設定の分類は標準になっております。
****
>プログラムを作るときの仕様になります。
>
・・・頭の中で漠然とした考えしかしておらず、情けない思いでいっぱいです。
kanabunさんのアドバイスでまずプログラムを作る始め(姿勢)から全然できていないことに気づきました
ありがとうございます。
|
|