2012-07-27 3 views
0

원하는 제품의 수를 선택할 수있는 워크 시트 목록에 제품 목록이 있지만 모든 제품에 가치가있는 것은 아닙니다 . 별도의 워크 시트에서 금액을 선택한 제품 만 잡아 당기고 싶습니다. 제발 조언.셀이 null이 아닌 경우 다른 탭의 열 'a'에 값을 반환하십시오.

첫 번째 워크 시트 :

A  B 

a  3 

c  45 

d 

e 

f  10 

원하는 두 번째 워크 시트 :

A  B 

b  3 

c  45 

f  10 
+2

데이터를 자동 필터링 한 다음 복사 하시겠습니까? –

+0

VBA를 사용하지 않는 솔루션, 특히'= IFERROR'로 시작하는 솔루션에 대해서는 http://www.cpearson.com/excel/NoBlanks.aspx를 확인하십시오. 상황을 약간 바꿔야합니다. 지금은 할 시간이 없지만 다른 답변이 마음에 들지 않으면 나중에 도울 수 있습니다. –

답변

2

당신은 간단한 VBA 서브 루틴으로 원하는 것을 얻을 수 있습니다

Sub notNull() 
    Dim count As Integer 
    count = Application.WorksheetFunction.CountA(Range("A:A")) 
    Dim i As Integer 
    i = 1 
    Dim rowCount As Integer 
    rowCount = 1 
    Do While i <= count 
     If (Range("B" & i) <> "") Then 
      Worksheets("Sheet2").Range("A" & rowCount) = Range("A" & i) 
      Worksheets("Sheet2").Range("B" & rowCount) = Range("B" & i) 
      rowCount = rowCount + 1 
     End If 
     i = i + 1 
    Loop 
End Sub 

그것이 무엇 인가 간다 A 열에있는 데이터가있는 모든 행을 통해 B 열의 관련 값이 ""인지 확인하고 if 그렇지 않으면 두 값을 다른 시트로 복사합니다. 희망이 도움이!

+0

꿈처럼 일했습니다! 감사! – user1557628

+0

반가워요! 참고로, 질문자가 대답을 승인하면 stackoverflow에서 대답 옆에있는 체크 표시를 클릭하여 대답을 공식적으로 수락 할 수 있습니다. 대단히 감사하겠습니다 :) – jrad

1

최종 사용자가 매크로를 사용할 수있는 경우 VBA 서브 루틴을 사용하여이를 수행 할 수 있습니다. 아래 예제에서는 워크 시트의 이름을 변경하지 않았으며 "Sheet1"과 "Sheet2"라고 가정합니다. 이름을 변경했다면 일치시킬 코드에서 변경해야합니다.

1) 현상 툴바를 표시 :

[http://www.traineetrader.com/excel-quick-tips-howto-enable-the-developer-toolbar-in-excel-20102011/] 1]

2) 개발자 도구 모음 삽입을 클릭에서 다음 버튼을 추가 (중요하지 않는 경우)

3) 마우스 오른쪽 버튼을 클릭하고 '매크로 지정'다음 '새'

을 클릭 4)이 코드는 다음과 같이 처리해야합니다.

Sub Button1_Click() 

Dim row As Integer 

row = 1 
newrow = 1 

Do Until Worksheets("Sheet1").Cells(row, 1).Value = "" 

    If Worksheets("Sheet1").Cells(row, 2).Value <> "" Then 

    Worksheets("Sheet2").Cells(newrow, 1).Value = Worksheets("Sheet1").Cells(row, 1).Value 
    Worksheets("Sheet2").Cells(newrow, 2).Value = Worksheets("Sheet1").Cells(row, 2).Value 

    newrow = newrow + 1 

    End If 

row = row + 1 

Loop 

End Sub 

질문이 있으시면 알려주세요.

+0

우리는 놀랍게도 비슷한 방법을 가지고 있습니다! 내 방법론을 가지고있어 +1. – jrad

+0

미스터 래드클리프 감사합니다! 귀하의 솔루션은 공정한 최상의 방법입니다. 불행히도 +1을 보답 할만큼 충분한 평판이 없습니다! – Dave

+0

하하 그 빈 줄을 빼내려한다면, 우리의 서브 루틴은 사실상 동일 할 것입니다. 어느 쪽이든, 나는 그 보완에 감사드립니다! – jrad

관련 문제