[[20230122151255]] 『コピペしたセルの隣に自動で文字列を入力したい』(ゆー一た) ページの最後に飛ぶ

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

 

『コピペしたセルの隣に自動で文字列を入力したい』(ゆー一た)

別のエクセルからコピペするたびにその隣のセルに数字を自動で入れたいです。
数字である必要はありませんが、コピペごとに異なる文字列が入るようにできないでしょうか。

?@aaa、bbb、cccが最初のコピペ
 その結果、隣のセルに(例えば)1が入る
?AAAA、BBB、CCC、DDDが次のコピペ
 その結果、隣のセルに(例えば)2が入る

コピペ 自動で入る文字列

 aaa      1
 bbb      1
 ccc      1 
 AAA      2
 BBB      2
 CCC      2
 DDD      2
  ・      ・
  ・      ・

< 使用 Excel:Excel2019、使用 OS:Windows10 >


>コピペごとに異なる文字列が入るようにできないでしょうか。
断言しませんが、多分無理だとおもいます。

ただ、コピペ以外でその列の値を書き換えないということが前提ならば、マクロのChangeイベントを使えば無理ではないです。
(列が不明なので、A列貼り付けた場合のみ(A列のみ値が書き換えられたときだけ)動作するという条件にしています)

【貼付られるシートの】シートモジュールに↓を記述

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub '(1)
        If Intersect(Target, Range("A:A")).Address = Target.Address Then '(2)
            Intersect(Target.EntireRow, Range("B:B")).Value = WorksheetFunction.Max(Range("B:B")) + 1
        End If
    End Sub

ステップ実行すれば容易にわかるとおもいますが、一応解説。

 (1)の部分で値が書き換えられた範囲にA列が含まれるか判定していて、A列が含まれていなければ何もしません
 (2)の部分で、値が書き換えられた範囲にA列以外が含まれているか判定していて、偽ならば処理に進みません。

(もこな2) 2023/01/22(日) 17:27:29


コメント返信:

[ 一覧(最新更新順) ]


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