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

 연습생 (dkdlel)

추천:  2
파일:     조회:  3088
제목:   중복입력 방지하기(VBA)
     
  A1  B1  C1
03  P   =A1&B1
03  A   =A1&B1
03  P   =A1&B1
유저폼에서 두개의 텍스트BOX에 "어떤값(년도)과 "어떤값(구분)"을 각각 넣고
버튼을 누를때마다 SHEETS에 위와 같이 자료가 들어가게 했습니다. 
물론,"C1(두텍스트합치기)"의 값은 자동으로 들어가도록 버튼매크로에 지정되어있고요.
그런데,"C1"의 값이 그 열에 있으면 "이미 있는 번호입니다"라는
메세지를 알리면서 실행이 중단되도록 하고 싶은데,아무리 해도
잘 안되네요. 고수님들의 조언(가능하면 예제로)부탁드립니다.
==============[연습생님 글에 대한 답변입니다]==============

안녕하세요?
'예제'로 보여주었던 것을 기준으로 하며 5행의 'A5'와 'B5'의 값을 입력하고 어느 버튼을 눌렀으때 이것을 검사하는 것으로 가정하고 설명드리지요
그러니까 유저폼을 이용하는 것이 아니고 시트에 직접입력하는 방법(이 방법이 유저폼을 이용하는 것보다 훨씬 쉽고, 프로그램이 가볍습니다.)입니다.

Sub CheckUp()
  Dim Rng As Range
  Dim intA As Integer
  Dim strA As String
  intA = [A1].CurrentRegion.Rows.Count
  With ActiveSheet
    strA = .Cells(intA, 1) & .Cells(intA, 2)
    Set Rng = .Range("C2:C" & intA-1).Find(strA)
    If Not Rng Is Nothing Then
      MsgBox "입력한 " & strA & "는 이미 입력된 것입니다." & vbCr & _
            "다시 확인하시고 입력하세요"
      .Cells(intA, 1).ClearContents
      .Cells(intA, 2).ClearConte
      .Cells(intA, 1).Select
      Exit Sub
    Else
      .Cells(intA, 3) = strA
      .Cells(intA + 1, 1).Select
    End If
  End With
End Sub

그럼 도움이 되시길..
==============[졸따구님 글에 대한 답변입니다]==============
고맙습니다.그런데 다른 입력란과 연관이 되어있기때문에 유저폼에서 꼭 실행이
되어야 하거든요.그럼, 다시 부탁드립니다.
 
[불량 게시물 신고]  
        
  

작성일 : 2003-08-06(23:56)
최종수정일 : 2003-08-06(23:56)
 


 ◎ 관련글

  제 목   작성자   날짜
내용이 장황해서,읽어보시고 부탁드립니다.(중복입력방지) 연습생 2003-08-06
중복입력 방지하기(VBA) 졸따구 2003-08-06
중복입력 방지하기(VBA) 연습생 2003-08-06