1
文字列(たとえばNames)を持つ特定の列のセルを検索しようとしています。列の対応するセルを右にコピーします(つまり、 1))、それを別のシートのカラムに貼り付けます。私は、私が望む範囲変数を見つけるために次のコードを持っています。しかし、私は別のシートから選択することはできません!
Sheets(1).MyRange.Copy
を使用している場合は、受け付けません。私は間違った方法で範囲を参照していますか?私は間違って何をしていますか?ここで特定の文字列を持つセルの隣にセルをコピー/ペーストする
私はMyRangeを取得するために使用したコードです:
Option Explicit
Sub SelectByValue(Rng1 As Range, Value As Double)
Dim MyRange As Range
Dim Cell As Object
'Check every cell in the range for matching criteria.
For Each Cell In Rng1
If Cell.Value = Value Then
If MyRange Is Nothing Then
Set MyRange = Range(Cell.Address)
Else
Set MyRange = Union(MyRange, Range(Cell.Address))
End If
End If
Next
End Sub
Sub CallSelectByValue()
'Call the macro and pass all the required variables to it.
'In the line below, change the Range, Minimum Value, and Maximum Value as needed
Call SelectByValue(Sheets(1).Range("A1:A20"), "Tom")
End Sub
ワン・モア質問:むしろ(例えば「A1:A20」)を見て正確な範囲を指定するよりも、私はすべてを見てみたいですしかし、私は(A:A)を使いたくないので、Aのすべての行を見ることはできません。列Aの項目を持つセルだけを見る方法はありませんか?
ありがとうございます。
アル
こんにちはティムだけの列のセルに制限するに
、応答に感謝します。最初の点に関しては、私は実際にSheet2でこのマクロを実行しますが、Sheet1からSheet2に対応するMyRangeをコピーする必要があります。 Sheets(1).MyRange.Copyを使用すると、動作しません。あなたはそれを書く正しい方法を知っていますか? –
明確にするために、MyRangeが(B1:B4)であったと仮定しましょう。このMyRangeを私が使用したシート(例えば、シート1または3、または...などの "B1:B4" ) –
MyRangeをコピーする場合は、MyRange.Copyを使用します。シート修飾子は必要ありません。 –