키 입력 만 사용하여 매크로를 기록하려고하는데 예상 한대로 수행하지 않아 최종 키 입력시 문제가 발생합니다. 내가하는 일에 대한 약간의 배경 - 나는 데이터의 증가와 그래프의 마지막 4 행을 그래프로 그리는 작업을하고있다. 한 시트에서 데이터를 복사하여 다른 시트의 내 테이블에있는 다음 빈 행에 붙여 넣으려고합니다. 키 스트로크를 사용하기 때문에 매크로에서 클릭 수를 기록 할 것으로 예상했지만 이것이 수행하는 것이 아닙니다. 대신 매크로가 기록 된 정확한 셀 위에 데이터를 붙여 넣고 그 아래의 빈 셀은 붙여 넣지 않습니다. 예를 들어, C19에 이미 데이터가 있습니다. 매크로를 실행하면 새 데이터를 C20에 붙여 넣기를 기대하지만 대신 C19를 붙여 넣습니다. VBA를 추가/편집해야 새로운 데이터를 다른 시트의 빈 행에 붙여 넣을 수 있다고 생각합니다. 나는 이것이 의미있게되기를 바란다. 어떤 도움을 많이 주시면 감사하겠습니다!Excel VBA 다른 시트의 다음 빈 행에 복사하여 붙여 넣기
감사합니다.
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range("C3").Select
ActiveCell.FormulaR1C1 = "=DATE(YEAR(RC[-1]), MONTH(RC[-1])+1, DAY(RC[-1]))"
Range("C3").Select
Selection.Copy
Range("B3").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("C3").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Range("B85:K146").Select
Selection.Copy
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlUp).Select
Range("B9").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A1").Select
ActiveSheet.Next.Select
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Range("E71:G71").Select
Application.CutCopyMode = False
Selection.Copy
Range("A1").Select
ActiveSheet.Next.Select
Range("A1").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Selection.End(xlToLeft).Select
Selection.End(xlUp).Select
Selection.End(xlUp).Select
Selection.End(xlDown).Select
Selection.End(xlToRight).Select
Selection.End(xlToRight).Select
Selection.End(xlToLeft).Select
Range("C5").Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Selection.End(xlDown).Select
Range("C19").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
다른 사람이 직접 코딩보다는 매크로를 기록하는 방법을 읽어 경우가 최선의 댓글을 달았으로
'키 입력 만 사용하십시오 '하지 마십시오. 편집 : 로직을 사용하고 그런 식으로 코드를 작성하십시오.^_^ – findwindow
또한, 주 코드 문제를 해결하기 전에 *** 읽어보십시오. ['.Select' 사용을 피하는 방법 (http : // stackoverflow .com/questions/10714251/how-to-avoid-using-excel-vba-macros를 참조하십시오. 특히 매크로 레코더를 사용하는 경우 시작하는 것이 좋습니다. 꽤 빨리 볼 수 있습니다. 많은 코드를 곧바로 삭제할 수 있습니다. 대신 데이터로 직접 작업하는 방법을 익히십시오. – BruceWayne