목록같은조건 (3)
rand(life)
지난번에 몇번 올라왔던 사용자 정의함수의 매크로 버전이다. 어떤 분이 엑셀이 느려진다고 해서 만들어보았다.속도 자체는 크게 다르지 않은 것 같다. 아무래도 전체 셀을 순환해야하니까....그래도 사용자정의함수였을 때는 셀에 다른 입력을 하거나하면 새로 계산을 하느라 버벅였는데지금은 결과값이 수식이 아니라 텍스트로 입력이 되기 때문에, 새로 계산을 하지 않는다.그 점은 더 나아진 것 같다.Option ExplicitSub CText()Dim strTemp() As StringDim rng1 As RangeDim rng2 As RangeDim rng3 As RangeDim r1 As RangeDim rr1 As RangeDim i As Integer, n As Integer, k As Integer Set r..
지난 번에 쓴 글에서, 같은 조건의 문자열을 찾아 합치는 사용자정의 함수를 만드는 방법을 연구해 보았습니다. 제가 직접 만든 VBA코드가 아니고, 다른 분이 만드신 것을 올리고, 거기에 대한 설명을 제가 붙인 글이었습니다. 여기에 어떤 분이 질문을 하셨습니다. 그 내용을 요약하면, 신청 과목의 이름뿐만 아니라, 신청과목의 학점까지 조건을 주어서 표시할 수 있는가, 예를 든다면 신청과목중 3학점 이상되는 과목만 나열하도록 할 수 있는가 하는 내용이었습니다. 위의 그림에서 보듯이, 왼쪽의 표에는 신청과목과 학점이 표시되어있습니다. 여기서 학생별로 신청한 과목 중 3학점 이상만을 뽑아내어, 오른쪽 표에 보는 것처럼 신청과목을 나열하고 싶다는 것입니다. 결론을 이야기하면, 가능합니다. 그것도 아주 간단히 할 수..
지난번에 다루었던 "통합"기능은, 데이터가 한 줄 (예를 들면 A열)에만 나열되어있어야 가능한 방법이었다. 위의 그림처럼 여러 열에 걸쳐 데이터가 입력되어있을 때, 여러시트와 여러 열에 걸쳐 입력되어있는 특정인의 금액을 합산하려면 어떻게 할까? 일반 함수나 기능으로는 안될 것 같고, VBA를 이용해야할 것 같다 일단, 합계를 낼 시트의 이름을 total이라고하고, 맨 왼쪽에 놓는다. A열에 각 사람의 이름이 나열되고, C열에 금액을 입력할 예정이다. 책을 찾아보고 검색해서 연구한 끝에 매크로로 만든 것은 다음과 같다. Private Sub Macro1() Dim n, j As Long Dim i As Integer Dim k As Integer Dim m As Integer Dim t As Integer..