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

 dew (dewdrop)

추천:  2
파일:     조회:  1711
제목:   [RE]특정값 이상일경우 실행
     
  Option Explicit

Public Const PD_데이터_타이틀R As Long = 1
Public Const PD_데이터_헤더R As Long = 2
Public Const PD_데이터_시작R As Long = 3

Public Const PD_데이터_시작C As Long = 1
Public Const PD_데이터_데이터시작C As Long = 2

Sub 데이터생성_서식출력()
    Dim OrgSheet As Worksheet
    Dim tmpSheet As Worksheet
    Dim NowSheet As Worksheet
    
    Dim tmpEndR As Long
    Dim tmpEndC As Long
    
    Dim NowSRow As Long
    Dim NowRowCount As Long
    
    Dim tmpRange As Range
    Dim SaveRange As Range
    
    Dim I As Long
    Dim J As Long
     
    Set tmpSheet = Sheets("데이터")
    Set OrgSheet = Sheets("출력양식")
    
    Set tmpRange = tmpSheet.Cells(PD_데이터_헤더R, PD_데이터_시작C).CurrentRegion
    tmpEndR = tmpRange.Cells(tmpRange.Rows.Count, 1).Row
    tmpEndC = tmpRange.Cells(1, tmpRange.Columns.Count).Column
    
    For I = PD_데이터_시작R To tmpEndR
        If Len(tmpSheet.Cells(I, PD_데이터_시작C)) > 0 Then
            For J = PD_데이터_시작C + 1 To tmpEndC
                If Len(tmpSheet.Cells(PD_데이터_타이틀R, J)) > 0 Then
                    OrgSheet.Range(tmpSheet.Cells(PD_데이터_타이틀R, J)) = tmpSheet.Cells(I, J)
                End If
        
            Next
            
          

Dim rngA As Range  '변수 지정

Application.ScreenUpdating = False '코드 실행 중 차트와 같은 화면 업데이트 방지'

Application.Calculation = xlCalculationManual '코드 실행 중 셀 계산 방지'

Application.EnableEvents = False ' 이벤트 실행 방지'

For Each rngA In Sheets("출력양식").Range("E34:E37")
   
    If rngA.Value = "" Or rngA.Value = 0 Then
       
        rngA.EntireRow.Hidden = True

   Else
       
        rngA.EntireRow.Hidden = False
       
    End If

Next

       
Application.EnableEvents = True

Application.Calculation = xlCalculationAutomatic

Application.ScreenUpdating = True

            
            OrgSheet.PrintPreview
        
        End If
    Next

End Sub




------------------------------------

매크로 내용이 프린트 하는 파일 입니다.

알려주신 내용을 넣어보니.
매크로가 멈추는거 같아요,,

다르게 설정해야 할까요~?

==============[아이떼떼님 글에 대한 답변입니다]==============

    For I = PD_데이터_시작R To tmpEndR
        If Len(tmpSheet.Cells(I, PD_데이터_시작C)) > 0 Then
            For J = PD_데이터_시작C + 1 To tmpEndC
                If Len(tmpSheet.Cells(PD_데이터_타이틀R, J)) > 0 Then
                    OrgSheet.Range(tmpSheet.Cells(PD_데이터_타이틀R, J)) = tmpSheet.Cells(I, J)
                End If
            Next
            
'----------------------------------------------------
            ' A1 값이 15이거나 이상 일 경우에만 실행이 되게끔 하고 싶습니다.
            ' 어떻게 추가를 해야 하나요~?
'--> 출력양식의 A1값을 15보다 크거나 같을 경우 아래 출력양식의 시트를 출력합니다.
            If OrgSheet.rane("A1") >= 15 Then 
                Dim rngA As Range  '변수 지정
                
                Application.ScreenUpdating = False '코드 실행 중 차트와 같은 화면 업데이트 방지'
                Application.Calculation = xlCalculationManual '코드 실행 중 셀 계산 방지'
                Application.EnableEvents = False ' 이벤트 실행 방지'
                
                For Each rngA In OrgSheet.Range("E34:E37")
                    If rngA.Value = "" Or rngA.Value = 0 Then
                        rngA.EntireRow.Hidden = True
                   Else
                        rngA.EntireRow.Hidden = False
                    End If
                Next
                Application.EnableEvents = True
                Application.Calculation = xlCalculationAutomatic
                Application.ScreenUpdating = True
                
                OrgSheet.PrintPreview
            End If
        End If
    Next
 
[불량 게시물 신고]  
아이떼떼매번 감사합니다~!12-24 (13:56)
삭제 ■신고
        
  

작성일 : 2019-12-24(11:52)
최종수정일 : 2019-12-24(11:52)
 


 ◎ 관련글

  제 목   작성자   날짜
특정값 이상일경우 실행 아이떼떼 2019-12-23
[RE]특정값 이상일경우 실행 아이떼떼 2019-12-24
[RE]특정값 이상일경우 실행 dew 2019-12-24