지;난번 문의드린 내용인데 이리 저리 궁리해봐도 계속 코드 자체가
작동하지 않아 작업파일을 첨부하여 다시 한번 도움을 요청드립니다
원래 의도는 F열의 어떤 셀(상호값)을 선택하여 더블클릭하든 바로 그 G열 셀에 상호별 담당자 콤보박스가 나타나 담당자를 선택만 하면 되도록 하는 것이었느데 그 정도까지VBA를 만들수 없어서 아래처럼 편법을 쓰고자 하는 것입니다 (I2열 담당자셀에 콤보박스를 성정하였음), 더 좋은 아이디어가 있으시면 조언부탁드립니다
1~2번 명열을 하나의; VBA에 동시에 담을 수 없다면 VBA 따로 생성허고 싶습니다
- F5 이하 F열 셀(상호 K) 을 더블클릭하면 클릭한 셀 값이 G2(샘플업체명G)에 복사
- G5 이하 G열 셀(빈 셀)을 더블클릭시 I2셀 값(윤대리)이 더블 클릭한 G열 셀로 복사

VBA 왕초보가 일단 만들어 본 코드입니다
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rngA, rngB As Range
Dim strA, strB AS String
If Not Intersect(Target, rngA) Is Nothing Then
Application.EnableEvents = False
Set rngA = Range("F5 : F" & Range("B2"))
Set strA = Cells(2.7)
If ActiveCell.Value = "" Then Exit Sub
Else
If Not Intersect(ActiveCell.rngA) Is Nothing Then
ActiveCell.Value.Copy
ActiveCell.Value.PasteSpecial.xlPasteValue
End If
Cancel = True
Application.EnableEvents = True
If Not Intersect(Target, rngB) Is Nothing Then
Application.EnableEvents = False
Set rngB = Range("G5 : G" & Range("B2"))
Set strB = Cells(2.9)
IF RngB.ActiveCell .DoubleClick
strB , Value.Copy
rngB.ActiveCell.PasteSpecial.xlPasteValue
End If
Cancel = True
Application.EnableEvents = True
End Sub
좀더 구체적으로 질문 내용을 보완하였습니다
1.F5 이하 F열 셀(상호 K) 을 더블클릭하면 클릭한 셀 값이 G2(샘플업체명G)에 복사
2.G5 이하 G열 셀(빈 셀)을 더블클릭시 I2셀 값(윤대리)이 더블 클릭한 G열 셀로 복사
Set strA = Cells(2.7) 등 일부 코드 셀 범위 수정
Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Dim rngA As Range, rngB As Range Dim intA As Integer intA = Sheet9.Cells(Rows.Count, 3).End(xlUp).Row Set rngA = Sheet9.Range(Sheet9.Cells(5, 6), Sheet9.Cells(intA, 6)) Set rngB = Sheet9.Range(Sheet9.Cells(5, 7), Sheet9.Cells(intA, 7)) Application.EnableEvents = False If Not Intersect(Target, rngA) Is Nothing Then If ActiveCell.Value = "" Then GoTo End1 Else Sheet9.Cells(2, 7) = ActiveCell.Value End If ElseIf Not Intersect(Target, rngB) Is Nothing Then ActiveCell.Value = Sheet9.Cells(2, 9) End If End1: Cancel = True Application.EnableEvents = True End Sub올려주신 파이를 다운받아 실햏해보면 작동이 잘되는데 실제 적용하려니
작동이 안되는 이유를 모르겠네요 ㅠㅠ
예제파일과 달라진 점은 시트명이 Sheet9 --->Sheet10으로
바뀐 것 밖에 없거든요 나머지 셀범위 셀위치 등등은 동일하여
시트명만 수정했습니다 죄송하지만 어떤 문제가 있는지 봐 주실수 있을까요?
직업파일도 첨부드립니다
그런데 유효검사 콤보박스를 F열 각 셀마다 만들지 않고 G2열에 한개만 별도로 만든 이유가 업체명 콤보박스를 클릭하면 그 업체와 연동되는 여러 담당자가 옆에 뜨서 선택만 하면 입력되도록 다중 동적범위 OFFSET함수를 복잡하게 지정해 둔 것이어서 업체명이 지정하는 셀마다 다중 동적범위 함수를 걸어야 하기 때문에 이를 피하려고 편법을 쓴 것리거든요
유저폼을 이용하여 F열 업체명을 클릭하면 리스트박스가 뜨고 거기에 클릭한 업체명과 해당 감당자 리스트가 떠서 해당 담당자를 클릭만 하면 해당 G셀에 담당자명이 입력되도록하는 방법이 있다는 건 아는데 제가 시도해보지 못한 거라서요
혹시 G열 셀마다 공통적인 유효성검사를 적용할 수 있는 방법이 있을까요?
https://www.oppadu.com/%ec%97%91%ec%85%80-%eb%8b%a4%ec%a4%91%ec%a1%b0%ea%b1%b4-%eb%aa%a9%eb%a1%9d%ec%83%81%ec%9e%90-%eb%8b%a4%ec%a4%91-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%9c%a0%ed%9a%a8%ec%84%b1%ea%b2%80%ec%82%ac/
유저폼을 이용하는 방법은 파일에 예시 넣어놨으니 첨부파일 확인바랍니다.
그런데 작업하신 파일이 오류가 나서 파일을 열면 vba가 다 삭제됩니다 파일을 다시 한번 올려주시면 감사하겠습니다
많은 도움이 되었습니다~~