나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 조훈 (xyzkor)

추천:  2
파일:     제목 없음2.png (114.4KB) 조회:  2163
제목:   회원님들께 도움을 청합니다 vba관련.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >> 엑셀 2007 버전



안녕하세요 문의드릴게 있어서요

Option Explicit

Sub samename_sum()

Dim rngc As Range
Dim rngall As Range
Dim rngtarget As Range
Dim cnt, i As Double
Dim sum_cnt As Double
Application.ScreenUpdating = False


Set rngtarget = Range([a2:c2], Cells(Rows.Count, "c").End(3))
For Each rngc In rngtarget
rngc.Offset(0, 7).Value = rngc.Value
Next rngc

Set rngall = Range("h2:j2", Cells(Rows.Count, "j").End(3))
Cells(1, "j").Value = "ingredient"
For Each rngc In rngall
cnt = Application.CountIf(rngall, rngc)
If cnt > 1 Then
rngc.Resize(, 1).Clear
End If
Next rngc
With Range([j2], Cells(Rows.Count, "j").End(3))
.Sort key1:=Range("j2"), order1:=xlAscending

End With

sum_cnt = 0
Columns("k:k").EntireColumn.ClearContents
Cells(1, "k").Value = "총사용량"
For Each rngc In rngall
For i = 2 To Cells(Rows.Count, "c").End(3).Row
If rngc.Value = Cells(i, "c").Value Then
sum_cnt = sum_cnt + Cells(i, "f").Value

rngc.Offset(0, 1).Value = sum_cnt
rngc.Offset(0, 1).NumberFormat = "0.00000000"

End If
Next i
sum_cnt = 0
Next rngc

Set rngall = Nothing
Set rngtarget = Nothing

MsgBox "working complete"

End Sub


현재 이런 수식을 완성했습니다.

현재 c열이 중복처리 후 우측에 j열에 함량계산으로 식이 나오게 했습니다

그런데 실무자가 a열과 b열의 정렬된 c열의 동일행값이

우측에도 중복처리후 동일하게 나와줘야 한다고 합니다.

값이 동일하게 나오려면 어떻게 수정을 해야하나요?

현재 c값이 j열에 나타나지는것은 중복제거후 오름차순 정렬까진 되는데 ab의 데이터값이 c값을 따라가주지 못합니다.

알려주세요 감사합니다.
 
[불량 게시물 신고]  
        
  

작성일 : 2017-07-11(16:05)
최종수정일 : 2017-07-11(18:57)