CAFE

Re:Re:Re:매크로 다른 시트에 응용하기

작성자윤슬|작성시간10.07.28|조회수63 목록 댓글 0

 

안녕하세요?

 

데이터를 공통된 부분은 입력하지 않거나 셀병합을 하거나 하면 엑셀에서는 해당 DB를 이용해서 어떠한 작업을 하는데 많은 제약이 따릅니다.

그래서 현재와 같이 공동된 부분이라도 다 입력을 하시는게 좋습니다.

또 반복된 행을 계속해서 입력하실 필요 없이 반복할 행을 지정해서 DB를 작성하시는게 더 효율적이라 말할 수 있으며 또한 시트별로 DB를 관리하는 방법역시 그리 바람직 하지 않습니다.

그래서 코드가 좀더 복잡해 지고 길어지게 되는 결과를 가져옵니다.

 

암튼 아래 코드는 첨부파일에 사용된 코드입니다.

Option Explicit

 

Sub Test()
Dim Sh As Worksheet
Dim Rng As Range
Dim z As Integer
Dim Str As String, Str2 As String, Fd_V As String
Dim i As Long, j As Long, k As Long

Dim Tmp As String

 

Application.ScreenUpdating = False

 

For Each Sh In Worksheets
    If Sh.Name <> "Sheet1" Then
        Fd_V = ActiveSheet.Range("A3").Value
        z = InStr(Fd_V, "-") - 1
        Str = Left(Fd_V, z) & "*"
        Str2 = "*" & Right(Fd_V, 6)
       
        Set Rng = Sh.Columns(3)
       
        With Application.WorksheetFunction
            i = .CountIf(Rng, Str)
            j = .CountIf(Rng, Str2)
            k = .CountIf(Rng, Fd_V)
        End With
       
        If i >= 1 And j >= 1 Or k >= 1 Then Tmp = Tmp & ", " & Sh.Name: MsgBox Tmp
    End If
Next Sh

 

ActiveSheet.Range("b3").Value = Mid(Tmp, 3)
ActiveSheet.Range("b3").EntireColumn.AutoFit

Application.ScreenUpdating = True
End Sub

 

자세한 내용은 첨부파일을 참고로...

 

그럼 잘 해결되시길...   ^^*

 

============================================================================

첨부파일

 

첨부파일 100728_현대제철_CCM1.2.3_SEG.ASSY_MASTER_LIST.xls

 

============================================================================

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼