2017-07-31 3 views
1

列 "A"以外の場所に貼り付けることはできませんが、列文字を変更しようとしましたが、 "コピー/ペーストセルが同じサイズではありません"というエラーコードが表示されます。エントリー行ではないデータをコピー/ペーストする

Sub HEA_Filter_Names() 

Dim strArray As Variant 
Dim wsSource As Worksheet 
Dim wsDest As Worksheet 
Dim NoRows As Long 
Dim DestNoRows As Long 
Dim I As Long 
Dim J As Integer 
Dim rngCells As Range 
Dim rngFind As Range 
Dim Found As Boolean 

strArray = Array("ack-") 

Set wsSource = ActiveSheet 

NoRows = wsSource.Range("A65536").End(xlUp).Row 
DestNoRows = 1 
Set wsDest = Sheets("Real Alarms") 

For I = 1 To NoRows 

    Set rngCells = wsSource.Range("B" & I) 
    Found = False 

    For J = 0 To UBound(strArray) 
     Found = Found Or Not (rngCells.Find(strArray(J)) Is Nothing) 
    Next J 

    If Found Then 
     rngCells.EntireRow.Copy wsDest.Range("A" & DestNoRows) 
     DestNoRows = DestNoRows + 1 
    End If 

Next I 

End Sub 
+0

をあなたが行全体をコピーする場合、あなたはそれを貼り付けることができるようになります唯一の場所がどこかにある行全体が収まる場所 - つまり列Aは、おそらくあなたが必要あなたが達成しようとしていることを教えてください。 – YowE3K

+0

もちろん、それはA列に貼り付けられます。wsDest.Range( "A"&DestNoRows)の 'A'はどういう意味だと思いますか?列Aから行が始まるので、列をコピーする場合は列Aから**を開始します。 –

+0

@JimmyVo他の質問ではそれをキャッチしませんでした。私は今参照してください。すべてが解決され、あなたは[回答を受け入れる]ことができます(https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

答えて

3

あなたはどこか他の列Aより開始EntireRowを貼り付けることはできません。

あなたは代わりに、これを試すことができます。

Intersect(rngCells.EntireRow, rngCells.Parent.UsedRange).Copy wsDest.Range("F" & DestNoRows) 
+1

私はそれを支払うよ!私は新しい質問を見ない限り、行全体の問題に気付かなかったのですが(編集でさらに良くなりました) – YowE3K

+0

@ YowE3K見てください[https://stackoverflow.com/a/45395541/4926357] 。どういうわけか、私は「無言の質問リスト」に疲れています。 –

+0

私はあなたの他の答えを見て尋ねるべきではありません - 私は彼らにもコメントしなければなりません:D – YowE3K

関連する問題