특정 셀을 날짜와 함께 자동으로 복사하는 방법


1

개인 트랜잭션 로그가 있고 매월 트랜잭션 요약을 만들고 싶습니다. 지정된 달로 Excel 복사 셀을 만드는 방법.

예를 들어 트랜잭션 로그가 있습니다.

         A            B
1    01/25/2018    USD 50.3
2    02/01/2018    USD 21.5
3    02/09/2018    USD 25.4
4    02/17/2018    USD 18.9
5    02/24/2018    USD 34.9
6    02/28/2018    USD 70.5
7    03/02/2018    USD 50.5
8    03/04/2018    USD 22.1

Note: The dates are formatted as date in excel, and the amount are formatted as
Accounting cell

2 월 거래를 다른 시트에 자동으로 복사하려면 어떻게해야합니까?


1
이미 무엇을 시도 했습니까? 당신에게 도전하는 특정한 것이 있습니까? 일반적으로 질문은 자신의 연구와 극복 할 수없는 특정 장애물의 결과 여야합니다. 포인터에 대한 좋은 질문어떻게합니까?를 확인하십시오 .
jrichall

답변:


1

워크 시트의 이름이나 색인을 제공하지 않았으므로 1& 의 일반 색인을 사용해야했습니다 2.

제공 한 정보가 제한되어 있습니다. 그러나 정확하게하고 싶은 것에 맞게 코드를 수정하는 것은 어렵지 않습니다.

Option Explicit

Sub copyTransactions()

    ' ws = the worksheet that contains the code to copy
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets(1)

    'Create a multi-dimensional array that contains your two columns of data
    Dim myArr() As Variant
    myArr = ws.UsedRange.Columns("A:B").Value

    'ws2 = the worksheet you are copying TO
    Dim i As Long, ws2 As Worksheet, x As Long
    Set ws2 = ThisWorkbook.Worksheets(2)

    'Loop the array, and if it matches your month of 2 (Feb) then copy
    'the data from ws to ws2
    With ws2
        For i = 1 To UBound(myArr)
            If month(myArr(i, 1)) = 2 Then  ' 2 = February
                x = x + 1
                .Cells(x, 1) = myArr(i, 1)  ' the ,1 is column A
                .Cells(x, 2) = myArr(i, 2)  ' the ,2 is column B
            End If
        Next
    End With

End Sub

간단히 말해서 A + B 열을 가져 와서 배열에 배치하는 것 myArr()입니다. 그런 다음 A 열에서이 배열을 반복하고 월 인덱스 2 (2 = 2 월)와 일치하는 모든 달과 일치하도록 기준을 설정합니다. 발견되면 어레이를로 복사합니다 ws2.


파일에 맞게 코드를 수정하지 못했습니다. 통합 문서에 맞게 해당 코드를 수정하도록 도와 줄 수 있습니까? 위치 및 파일 이름은 "D : \ Muh Rommy \ Documents \ xls \ Budet Management \ Sandbox for Research and Development.xlsm"입니다. 시트는 로그가 "Sheet7"이고 로그를 배치 할 시트가 "Sheet2"입니다
Rommy Soeli

3

VB 코드는 훌륭하지만 개발자 콘솔에 익숙하지 않은 사람들에게 이것이 최선의 해결책인지 확실하지 않습니다.

매월 옆에 열을 만들고 해당 월의 트랜잭션을 추출한 다음 총 열을 합할 수 있습니다.

C 열에서 다음과 같은 것을 사용하십시오.

= IF (MONTH ($ A2) = 1, $ B2,0)

여기서 1은 2 월 1 일, 2 월 2 일입니다.
그런 다음 D 열에서 2 월 동안 반복하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.