2017-09-17 10 views
1

シート「要約」行A44(数式付きの固定データ行)からシート18(行A3)にデータをコピーしたい場合、A1とA2はヘッダーです。私は以下のVBAコードを持っており、そうすることができます。データを絶対数に変換するように、データをコピーして値(Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=Falseなど)として貼り付けたいと思います。コードを編集する方法は誰ですか?vbaコピー行とペースト値として新しいシートに貼り付けます

Sub COPY_SUMMARY2COPYDATA() 

    Set des = Sheet18.Range("a1") 

    With Worksheets("SUMMARY") 
     .Rows(Range("A44").Row).Copy 
     des.Range("A3").Insert Shift:=xlUp 
    End With 

    Application.CutCopyMode = False 

End Sub 
+0

実際に結果を挿入したいのですか、または空白のセル/セルがSheet18でデータを受信するのを待っていますか?あなたのサンプルコードからは分かりにくいです。 – Joffan

+0

私の説明が明確でない場合は申し訳ありません。私は動的なデータをsheet18にコピーする必要があるので、新しい結果はrow3以降から追加します。 row3、row4、row5 ..... sheet18最初の2つの行がヘッダである以外は空白のシートです – robin

答えて

0

これを試してください:

Sub COPY_SUMMARY2COPYDATA()  

    Dim LastRow As Long 

    LastRow = Sheet18.Cells(Rows.Count,1).End(XlUp).Row + 1 

    Sheets("SUMMARY").Rows("44").Copy   
    Sheet18.Rows(LastRow).PasteSpecial xlPasteValues 

    Application.CutCopyMode = False 

End Sub 

・ホープ、このヘルプ

+0

ありがとう、それは動作していますが、私は動的なデータを持っています。行4,5,6 .... – robin

+0

OK、私は自分のコードを編集しました。ありがとう。 –

+0

こんにちは、はい、それは今、完璧に働いています、私は今日、新しいことを学んだ、ありがとう! – robin

0

を列に下から見て最初の空白セルを検索し、1行下にオフセットするには。

.Value2で直接値転送を使用して、を「絶対数に変換する」を渡します。これにより、地域の通貨と日付の表記規則と、元の原価を優先する式が破棄されます。

with Worksheets("SUMMARY") 
    with intersect(.usedrange, .rows(44).cells) 
     Sheet18.cells(.rows.count, "A").end(xlup).offset(1, 0).resize(.rows.count, .columns.count) = .value2 
    end with 
end with 
+0

申し訳ありませんが、私は本当にvalue2を理解していませんか?詳細を共有できますか? – robin

+0

MSDNで.Value2を参照できますか? 5秒後に[this](https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.range.value2(v = office.15).aspx)が見つかりました。あなたは*絶対数を求めていると言った*;日付や通貨の情報を保持したい場合は、値転送後に '.Value'に変更するか、セルをフォーマットしてください。 – Jeeped

+0

ok私はそれをチェックします、ありがとう – robin

関連する問題