|
▼kiki さん:こんにちは〜〜
>ところで、記載頂いたコードを明日の出社まで待ち切れず自宅のPCで仮のデータと表を作って動かしてみたのですが、エラーが出てしまいました。
>質問(1)
>最初に回答頂きました【72413】のコードで、
> >>With Worksheets("データ") '「検索範囲」は A列
>の部分で「インデックス範囲が有効にありません」と出てしまいました。なぜでしょうか?
→ 「データ」という名前のシートがないのでは?
>質問(2)
>次に回答頂きました【72413】のコードで
> >>CopyLine 該当セル, Cells(転記先行, 15) '21列をコピー
>の「CopyLine」で「subまたはfunctionが定義されていません」と出てしまいました。これもまた何故かわからずです。
>
>なぜでしょうか?
文字通り、
'--------------------------------------------
Private Sub CopyLine(該当セル As Range, 転記先 As Range)
該当セル.Offset(, 1).Resize(, 21).Copy 転記先
End Sub
'--------------------------------------------
が モジュールに書いてないからでは?
>ちなみに、【72416】のコードはまだ試せていません。
上の
> Private Sub CopyLine(該当セル As Range, 転記先 As Range)
の中味が 【72413】と【72416】 とで 違ってます。
【72413】のほうは 結合セルがあるとコピー元と貼り付け先の
かっこうがちがうので貼り付けできません。と怒られると思います。
結合セルがあるときは、
転記先範囲.Value = 転記元範囲.Value
のようにしてください。
>【72416】
Private Sub CopyLine(該当セル As Range, 転記先 As Range) '◆変更
転記先.Resize(, 21).Value = 該当セル.Offset(, 1).Resize(, 21)()
End Sub
>
>質問(3)
>私の作成・提示させて頂きました拙いコードですと、本日検証していたところ表シートの
>「表」シート
> A列 B列 C列
> aaa
>
> aaa
>
> bbb
>
> bbb
>
> ccc
>
> ccc
>
>この状態(aaa、bbb、cccがデータシート、表にも2件づつ記載)で追記で例えばdddというコードを追加でC列にいれて検索したところ、O列にはaaaが2×2、bbbが2×2、cccが2×2とそれぞれ4件O列以下に並び最後にdddのデータが記載され、データが重複してしまっていました。
>当然ですよね・・・。
>C列にもキーの番号を入れるとこうなることに初めて気付きました。
>それで、C列の重複している番号は1件と認識するか他の方法はないか調べなければと焦っていたのですが・・。
>ご提示頂いたコードではいかがでしょうか?
う〜ん、
最後のこちらからの提案は読んでもらえましたか?
抽出リストは 別の専用シートに置くという案です。
【72415】
> 元の抽出リストはどこか別の範囲に 2行おきでなく、1行づつ
> 連続リストにしておけば済むのに?
> で、その抽出リストは入力規則で重複データを追加できないように
> しておく、とかすれば、使いやすいシートになると思います。
【72418】
> 「抽出リスト」シートですが、
> この[A2:A1000]範囲を選択して
> メニュ−[ツール]-[入力規則...]で、
> 入力値の種類: ユーザー設定
> 数式 : Countif($A$2:A2)<2
> としておくと、
> 重複したアイテムを入力できなくなります。
>
> 参考まで。
|
|