Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3361 / 13644 ツリー ←次へ | 前へ→

【62715】Copy  Or Match トキノハジメ 09/8/25(火) 19:03 質問[未読]
【62716】Re:Copy  Or Match kanabun 09/8/25(火) 19:30 発言[未読]
【62720】Re:Copy  Or Match トキノハジメ 09/8/25(火) 21:09 質問[未読]
【62721】Re:Copy  Or Match kanabun 09/8/25(火) 21:16 発言[未読]
【62722】Re:Copy  Or Match トキノハジメ 09/8/25(火) 21:38 質問[未読]
【62723】Re:Copy  Or Match kanabun 09/8/25(火) 21:45 発言[未読]
【62724】Re:Copy  Or Match トキノハジメ 09/8/25(火) 21:56 お礼[未読]

【62715】Copy  Or Match
質問  トキノハジメ  - 09/8/25(火) 19:03 -

引用なし
パスワード
     A  B  C  D  E  F  G
1 16 14  1 15 10  9  6  番号
2 0  1  5 -2  4  0 -3  査定1
3 0  2  3 -3  4  3  0  査定2
4 16 15 14  6  9 10  1  番号
5
6

いつもお世話になります。
A1 以下の番号下の A2,A3 を A4 の同じ番号の下に
コピーするには、何を使えば良いのでしょうか。

【62716】Re:Copy  Or Match
発言  kanabun  - 09/8/25(火) 19:30 -

引用なし
パスワード
   ▼トキノハジメ さん:

>A1 以下の番号下の A2,A3 を A4 の同じ番号の下に
>コピーするには、何を使えば良いのでしょうか。

タイトルどおり「Match」でいいんじゃないですか?

  Dim r As Range
  Dim c As Range
  Dim m
  Set r = Range("A1:G1")
  For Each c In r.Offset(3)
    m = Application.Match(c.Value2, r, 0)
    If IsNumeric(m) Then
      c.Range("A2:A3").Value = r(m).Range("A2:A3").Value
    End If
  Next

【62720】Re:Copy  Or Match
質問  トキノハジメ  - 09/8/25(火) 21:09 -

引用なし
パスワード
   ▼kanabun さん:
何時も素早いアドバイス有難うございます。
("A1:G1") の所で型が一致しませんとでたのですが

>▼トキノハジメ さん:
>
>>A1 以下の番号下の A2,A3 を A4 の同じ番号の下に
>>コピーするには、何を使えば良いのでしょうか。
>
>タイトルどおり「Match」でいいんじゃないですか?
>
>  Dim r As Range
>  Dim c As Range
>  Dim m
>  Set r = Range("A1:G1")
>  For Each c In r.Offset(3)
>    m = Application.Match(c.Value2, r, 0)
>    If IsNumeric(m) Then
>      c.Range("A2:A3").Value = r(m).Range("A2:A3").Value
>    End If
>  Next

【62721】Re:Copy  Or Match
発言  kanabun  - 09/8/25(火) 21:16 -

引用なし
パスワード
   ▼トキノハジメ さん:

>("A1:G1") の所で型が一致しませんとでたのですが

??? 分かりません。
標準モジュールにコピペされましたか?

'----------------------------------- Module1 とか
Option Explicit

Sub MatchCopy() 'プロシージャ名は適当でいいです
  Dim r As Range
  Dim c As Range
  Dim m
  Set r = Range("A1:G1")
  For Each c In r.Offset(3)
    m = Application.Match(c.Value2, r, 0)
    If IsNumeric(m) Then
      c.Range("A2:A3").Value = r(m).Range("A2:A3").Value
    End If
  Next
End Sub

【62722】Re:Copy  Or Match
質問  トキノハジメ  - 09/8/25(火) 21:38 -

引用なし
パスワード
   ▼kanabun さん:
有難うございました。
ちゃんと行きましたが 全体の位置をずらすと表示位置が
変になるのですが ("A1:G1")→("B2:H2") ("A2:A3")→("B3:B4")

>▼トキノハジメ さん:
>
>>("A1:G1") の所で型が一致しませんとでたのですが
>
>??? 分かりません。
>標準モジュールにコピペされましたか?
>
>'----------------------------------- Module1 とか
>Option Explicit
>
>Sub MatchCopy() 'プロシージャ名は適当でいいです
>  Dim r As Range")
>  Dim c As Range
>  Dim m
>  Set r = Range("A1:G1")
>  For Each c In r.Offset(3)
>    m = Application.Match(c.Value2, r, 0)
>    If IsNumeric(m) Then
>      c.Range("A2:A3").Value = r(m).Range("A2:A3").Value
>    End If
>  Next
>End Sub

【62723】Re:Copy  Or Match
発言  kanabun  - 09/8/25(火) 21:45 -

引用なし
パスワード
   ▼トキノハジメ さん:

>ちゃんと行きましたが 全体の位置をずらすと表示位置が
>変になるのですが ("A1:G1")→("B2:H2") ("A2:A3")→("B3:B4")

変更するのは
 ("A1:G1")→("B2:H2")
だけにしてください。

("A2:A3") のほうはセルcからの相対セル参照なので、変更しないでください。

【62724】Re:Copy  Or Match
お礼  トキノハジメ  - 09/8/25(火) 21:56 -

引用なし
パスワード
   ▼kanabun さん:
有難うございました。又、宜しくお願いいたします。

>▼トキノハジメ さん:
>
>>ちゃんと行きましたが 全体の位置をずらすと表示位置が
>>変になるのですが ("A1:G1")→("B2:H2") ("A2:A3")→("B3:B4")
>
>変更するのは
> ("A1:G1")→("B2:H2")
> だけにしてください。
>
>("A2:A3") のほうはセルcからの相対セル参照なので、変更しないでください。

3361 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free