값을 기준으로 "A"열의 행을 선택하고 "F"열의 해당 셀에 대해 조치를 취하는 방법은 무엇입니까?

MarcOne1

이 작업을 수행하는 방법을 잃어 버렸으므로 도움을 주시면 감사하겠습니다. 약 9000 개의 행 (아래에 표시된 스 니펫)이있는 스프레드 시트가 있으며 다음 작업을 시도하고 있습니다.

1) A 열의 값이 같으면 G 열의 셀을 선택하고 선택한 셀을 병합합니다. 2) A 열의 값이 같으면 F 열의 셀을 선택하고 선택한 셀의 평균을 찾아 위의 작업 1에서 병합 된 셀에 결과를 입력합니다.

Excel의 매크로를 통해이 작업을 수행하려고 시도했지만 원하는 결과를 얻기위한 프로그래밍 / 스크립팅 기술이 부족합니다.

1.   A    B     C     D     E     F     G
2. 21004    High   date1   date2   date3   51
3. 21004    High   date1   date2   date3   51
4. 21004    High   date1   date2   date3   51
5. 21004    High   date1   date2   date3   60
6. 21003    High   date1   date2   date3   21
7. 21003    High   date1   date2   date3   44
8. 21011    High   date1   date2   date3   55
9. 21011    High   date1   date2   date3   58
10. 21405    High   date1   date2   date3   91
11. 21405    High   date1   date2   date3   36
Dirk Horsten
Sub AverageFinG()
    Dim topA As Range, bottomA As Range, sliceF As Range, sliceG As Range
    Set topA = Cells(1, 1)
   Do Until IsEmpty(topA.Value)
        Set bottomA = topA
        Do While bottomA.Offset(RowOffset:=1).Value = bottomA.Value
            Set bottomA = bottomA.Offset(RowOffset:=1)
        Loop

        Set sliceF = Range(topA, bottomA).Offset(ColumnOffset:=5)
        Set sliceG = sliceF.Offset(ColumnOffset:=1)
        sliceG.Merge
        sliceG.Formula = "=AVERAGE(" + sliceF.Address + ")"

        Set topA = bottomA.Offset(RowOffset:=1)
    Loop
End Sub

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관