선택한 셀의 합계를 클립보드에 복사

때로는 어떤 것을 생각해내는 데 매우 오랜 시간이 걸립니다. 그러나 그것들이 이미 발명되었을 때, 사실 후에 그것들은 명백하고 심지어 진부해 보입니다. 시리즈 "무엇이 가능합니까?"에서.

첫 번째 버전부터 Microsoft Excel 창 하단의 상태 표시줄에는 일반적으로 선택한 셀에 대한 합계가 표시되었습니다.

선택한 셀의 합계를 클립보드에 복사

원하는 경우 이러한 결과를 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 정확히 보고 싶은 기능을 선택할 수도 있습니다.

선택한 셀의 합계를 클립보드에 복사

그리고 최근에 최신 Excel 업데이트에서 Microsoft 개발자는 간단하지만 독창적인 기능을 추가했습니다. 이제 이 결과를 클릭하면 클립보드에 복사됩니다!

선택한 셀의 합계를 클립보드에 복사

아름다움. 

그러나 아직(또는 이미?) 이러한 버전의 Excel이 없는 사람들은 어떻습니까? 여기에서 간단한 매크로가 도움이 될 수 있습니다.

매크로를 사용하여 선택한 셀의 합계를 클립보드에 복사

탭에서 열기 개발자 (개발자) 편집자 Visual Basic을 또는 이 키보드 단축키를 사용하십시오 다른+F11. 메뉴를 통해 새 빈 모듈 삽입 삽입 – 모듈 거기에 다음 코드를 복사하십시오.

Sub SumSelected() If TypeName(Selection) <> "Range" Then Sub Exit With GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection) .PutInClipboard End With End Sub  

논리는 간단합니다.

  • 먼저 "바보로부터의 보호"가 있습니다. 정확히 강조 표시된 부분을 확인합니다. 셀이 선택되지 않은 경우(예: 차트) 매크로를 종료합니다.
  • 그런 다음 명령을 사용하여 객체 가져오기 선택한 셀의 합계가 나중에 저장될 새 데이터 개체를 만듭니다. 길고 이해할 수 없는 영숫자 코드는 실제로 라이브러리가 있는 Windows 레지스트리 분기에 대한 링크입니다. Microsoft Forms 2.0 개체 라이브러리, 이러한 개체를 만들 수 있습니다. 때때로 이 트릭은 암시적 늦은 바인딩. 사용하지 않을 경우 메뉴를 통해 파일에 이 라이브러리에 대한 링크를 만들어야 합니다. 도구 — 참조.
  • 선택한 셀의 합계가 명령으로 간주됩니다. WorksheetFunction.Sum(선택), 다음 명령을 사용하여 결과 금액이 클립보드에 배치됩니다. 클립보드 넣기

물론 사용하기 쉽도록 버튼을 사용하여 이 매크로를 키보드 단축키에 할당할 수 있습니다. 매크로 개발자 (개발자 — 매크로).

그리고 매크로 실행 후 정확히 무엇을 복사했는지 확인하려면 해당 그룹의 오른쪽 하단 모서리에 있는 작은 화살표를 사용하여 클립보드 패널을 켤 수 있습니다. 주요 (집) 탭 :

선택한 셀의 합계를 클립보드에 복사

금액 뿐만 아니라

기본 금액 외에 다른 것을 원하는 경우 개체가 제공하는 기능을 사용할 수 있습니다. 워크시트기능:

선택한 셀의 합계를 클립보드에 복사

예를 들어 다음이 있습니다.

  • 합계 – 합계
  • 평균 – 산술 평균
  • 개수 – 숫자가 있는 셀의 수
  • CountA – 채워진 셀 수
  • CountBlank – 빈 셀의 수
  • 최소 – 최소값
  • 최대 – 최대 값
  • 중앙값 – 중앙값(중앙값)
  • … 등

필터 및 숨겨진 행 열 포함

선택한 범위에서 행이나 열이 숨겨져 있으면(수동으로 또는 필터로) 어떻게 됩니까? 합계에서 고려하지 않으려면 개체에 추가하여 코드를 약간 수정해야 합니다. 선택 재산 특수셀(xlCellTypeVisible):

Sub SumVisible() If TypeName(Selection) <> "Range" 그런 다음 GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText WorksheetFunction.Sum(Selection.SpecialCells(xlCellTypeVisible)) 로 Sub를 종료합니다. PutInClipboard End with End Sub  

이 경우 전체 함수의 계산은 보이는 셀에만 적용됩니다.

살아있는 공식이 필요하다면

꿈을 꾸면 숫자 (상수)가 아니라 살아있는 공식을 버퍼에 복사하는 것이 더 나은 시나리오를 생각해 낼 수 있습니다. 버퍼는 선택한 셀에 필요한 합계를 계산합니다. 이 경우 조각에서 수식을 붙이고 여기에 달러 기호를 제거하고 쉼표(VBA에서 선택한 여러 범위의 주소 사이의 구분 기호로 사용)를 세미콜론으로 바꿔야 합니다.

Sub SumFormula() If TypeName(Selection) <> "Range" 그런 다음 GetObject("New:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}") .SetText "=СУММ(" & Replace(Replace(Selection. 주소, ",", ";"), "$", "") & ")" .PutInClipboard End With End Sub  

추가 조건이 있는 요약

마지막으로 완전히 미치광이의 경우 선택한 모든 셀이 아니라 주어진 조건을 충족하는 셀만 요약하는 매크로를 작성할 수 있습니다. 예를 들어, 매크로는 값이 5보다 크고 동시에 모든 색상으로 채워진 경우 선택한 셀의 합계를 버퍼에 넣는 것처럼 보입니다.

 Sub CustomCalc() Dim myRange As Range If TypeName(Selection) <> "Range" 그런 다음 선택에서 각 셀에 대한 Sub 종료 cell Else Set myRange = Union(myRange, cell) End If End If Next cell With GetObject("New:{5C1B3-F4210-441CE-B11EA-9AA00B006A1}") .SetText WorksheetFunction.Sum(myRange) .PutInClipboard End With End Sub  

쉽게 상상할 수 있듯이 조건은 셀 형식까지 절대적으로 모든 양으로 설정할 수 있습니다(논리적 연산자 또는 또는 및와 함께 연결 포함). 상상의 여지가 많습니다.

  • 수식을 값으로 변환(6가지 방법)
  • 매크로란 무엇이며 사용 방법, Visual Basic 코드 삽입 위치
  • Microsoft Excel의 상태 표시줄에 있는 유용한 정보

댓글을 남겨주세요.