엑셀 VBA 재고관리 코드를 작성중인데, 항목이 더이상 늘어나지 않습니다.

VBA
작성자
가을전어
작성일
2021-10-04 21:05
조회
67
엑셀버전 : 엑셀2010 이전

운영체제 : 윈도우10

 

이번에 열심히 코드를 만들어보고 있는중입니다.

설명처럼 작성중인데, DB=get_DB(shtcustomer)로 불러올수 있는 항목의 갯수 제한이 있는건가요?

시트에서 목록은 총 9가지인데, 현재 함수로 불러온 DB자료는 8가지입니다. 혹시 어느부분이 잘못된건지 알 수 있을까요?

함수는 기본내장함수를 그대로 사용하였습니다.

회원등급 : 새싹등급
포인트 : 58 EP
총질문 : 2 개 (마감율 : 50%)
채택답변 : 0 개
전체 4

  • 2021-10-04 21:09

    vba 은 코드를 봐야 알수 있습니다. 코드가 어떻게 구성이 된지 모르면 해결방법도 난감합니다.

    코드를 첨부하시면 고수님들이 도와주실거 같습니다. ^^


    • 2021-10-04 23:55
      Option Explicit
      Option Compare Text
      '########################
      ' 특정 워크시트에서 앞으로 추가해야 할 최대 ID번호 리턴 (시트 DB 우측 첫번째 머릿글)
      ' i = Get_MaxID(Sheet1)
      '########################
      Function Get_MaxID(WS As Worksheet) As Long
      With WS
          Get_MaxID = .Cells(1, .Columns.Count).End(xlToLeft).Value
          .Cells(1, .Columns.Count).End(xlToLeft).Value = .Cells(1, .Columns.Count).End(xlToLeft).Value + 1
      End With
      End Function
      '########################
      ' 워크시트에 새로운 데이터를 추가해야 할 열번호 반환
      ' i = Get_InsertRow(Sheet1)
      '########################
      Function Get_InsertRow(WS As Worksheet) As Long
      With WS:    Get_InsertRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1: End With
      End Function
      '########################
      ' 시트의 열 개수 반환 (이번 예제파일에서만 사용)
      ' i  = Get_ColumnCnt(Sheet1)
      '########################
      Function Get_ColumnCnt(WS As Worksheet, Optional Offset As Long = -1) As Long
      With WS:    Get_ColumnCnt = .Cells(1, .Columns.Count).End(xlToLeft).Column + Offset: End With
      End Function
      '########################
      ' 시트에서 특정 ID 의 행 번호 반환 (-> 해당 행 번호 데이터 업데이트)
      ' i = get_UpdateRow(Sheet1, ID)
      '########################
      Function get_UpdateRow(WS As Worksheet, ID)
      Dim i As Long
      Dim cRow As Long
      With WS
          cRow = Get_InsertRow(WS) - 1
          For i = 1 To cRow
              If .Cells(i, 1).Value = ID Then get_UpdateRow = i: Exit For
          Next
      End With
      End Function
      
      
      '########################
      ' 특정 시트의 DB 정보를 배열로 반환 (이번 예제파일에서만 사용)
      ' Array = Get_DB(Sheet1)
      '########################
      Function Get_DB(WS As Worksheet, Optional NoID As Boolean = False, Optional IncludeHeader As Boolean = False) As Variant
      
      Dim cRow As Long
      Dim cCol As Long
      Dim offCol As Long
      
      If NoID = False Then offCol = -1
      
      With WS
          cRow = Get_InsertRow(WS) - 1
          cCol = Get_ColumnCnt(WS, offCol)
          Get_DB = .Range(.Cells(2 + Sgn(IncludeHeader), 1), .Cells(cRow, cCol))
      End With
          
      End Function
      '########################
      '특정 시트에서 지정한 ID의 필드 값 반환 (이번 예제파일 전용)
      ' Value = Get_Records(Sheet1, ID, "필드명")
      '########################
      Function Get_Records(WS As Worksheet, ID, Fields)
      
      Dim cRow As Long: Dim cCol As Long
      Dim vFields As Variant: Dim vField As Variant
      Dim vFieldNo As Variant
      Dim i As Long: Dim j As Long
      
      
      cRow = Get_InsertRow(WS) - 1
      cCol = Get_ColumnCnt(WS)
      
      If InStr(1, Fields, ",") > 0 Then vFields = Split(Fields, ",") Else vFields = Array(Fields)
      ReDim vFieldNo(0 To UBound(vFields))
      
      With WS
          For Each vField In vFields
              For i = 1 To cCol
                  If .Cells(1, i).Value = Trim(vField) Then vFieldNo(j) = i: j = j + 1
              Next
          Next
      
          For i = 2 To cRow
              If .Cells(i, 1).Value = ID Then
                  For j = 0 To UBound(vFieldNo)
                      vFieldNo(j) = .Cells(i, vFieldNo(j))
                  Next
                  Exit For
              End If
          Next
          
      Get_Records = vFieldNo
      
      End With
      
      End Function
      
      '########################
      ' 시트에 새로운 레코드 추가 (반드시 첫번째 값은 ID, 나머지 값 순서대로 입력)
      ' Insert_Record Sheet1, ID, 필드1, 필드2, 필드3, ..
      '########################
      Sub Insert_Record(WS As Worksheet, ParamArray vaParamArr() As Variant)
      
      Dim cID As Long
      Dim cRow As Long
      Dim vaArr As Variant: Dim i As Long: i = 2
      
      With WS
          cRow = Get_InsertRow(WS)
          If InStr(1, .Cells(1, 1).Value, "ID") > 0 Then
              cID = Get_MaxID(WS)
              .Cells(cRow, 1).Value = cID
              For Each vaArr In vaParamArr
                  .Cells(cRow, i).Value = vaArr
                  i = i + 1
              Next
          Else
              For Each vaArr In vaParamArr
                  .Cells(cRow, i - 1).Value = vaArr
                  i = i + 1
              Next
          End If
          
      End With
      
      End Sub
      '########################
      ' 시트에서 ID 를 갖는 레코드의 모든 값 업데이트 (반드시 첫번째 값은 ID여야 하며, 나머지 값을 순서대로 입력)
      ' Update_Record Sheet1, ID, 필드1, 필드2, 필드3, ...
      '########################
      Sub Update_Record(WS As Worksheet, ParamArray vaParamArr() As Variant)
      
      Dim cRow As Long
      Dim i As Long
      Dim ID As Variant
      
      If IsNumeric(vaParamArr(0)) = True Then ID = CLng(vaParamArr(0)) Else ID = vaParamArr(0)
      
      With WS
          cRow = get_UpdateRow(WS, ID)
          
          For i = 1 To UBound(vaParamArr)
              If Not IsMissing(vaParamArr(i)) Then .Cells(cRow, i + 1).Value = vaParamArr(i)
          Next
          
      End With
      
      End Sub
      '########################
      ' 시트에서 ID 를 갖는 레코드 삭제
      ' Delete_Record Sheet1, ID
      '########################
      Sub Delete_Record(WS As Worksheet, ID)
      
      Dim cRow As Long
      
      If IsNumeric(ID) = True Then ID = CLng(ID)
      
      With WS
          cRow = get_UpdateRow(WS, ID)
          .Cells(cRow, 1).EntireRow.Delete
      End With
      
      End Sub
      
      '########################
      ' 배열의 외부ID키 필드를 본 시트DB와 연결하여 해당 외부ID키의 연관된 값을 배열로 반환
      ' Array = Connect_DB(Get_DB(Sheet1),2,Sheet2, "필드1, 필드2, 필드3")
      '########################
      Function Connect_DB(DB As Variant, ForeignID_Fields As Variant, FromWS As Worksheet, Fields As String, Optional IncludeHeader As Boolean = False)
      
      Dim cRow As Long: Dim cCol As Long
      Dim vForeignID_Fields As Variant: Dim vForeignID_Field As Variant
      Dim ForeignID As Variant
      Dim vFields As Variant: Dim vField As Variant
      Dim vID As Variant: Dim vFieldNo As Variant
      Dim Dict As Object
      Dim i As Long: Dim j As Long
      Dim AddCols As Long
      
      
      cRow = UBound(DB, 1)
      cCol = UBound(DB, 2)
      If InStr(1, Fields, ",") > 1 Then
          AddCols = Len(Fields) - Len(Replace(Fields, ",", "")) + 1
          vFields = Split(Fields, ",")
      Else
          AddCols = 1
          vFields = Array(Fields)
      End If
      
      ReDim Preserve DB(1 To cRow, 1 To cCol + AddCols)
              
      Set Dict = Get_Dict(FromWS)
      vID = Dict("ID")
      
      ReDim vFieldNo(0 To UBound(vFields))
      
      For Each vField In vFields
          For i = 1 To UBound(vID)
              If vID(i) = Trim(vField) Then vFieldNo(j) = i: j = j + 1
          Next
      Next
      
      If InStr(1, ForeignID_Fields, ",") > 0 Then vForeignID_Fields = Split(ForeignID_Fields, ",") Else vForeignID_Fields = Array(ForeignID_Fields)
      
      For Each vForeignID_Field In vForeignID_Fields
          For i = 1 To cRow
              If IncludeHeader = True And i = 1 Then ForeignID = "ID" Else ForeignID = DB(i, Trim(vForeignID_Field))
              If Dict.Exists(ForeignID) Then
                  For j = 1 To AddCols
                      DB(i, cCol + j) = Dict(ForeignID)(vFieldNo(j - 1))
                  Next
              End If
          Next
      Next
      
      Connect_DB = DB
          
      End Function
      '########################
      ' 특정 배열에서 Value를 포함하는 레코드만 찾아 다시 배열로 반환
      ' Array = Filtered_DB(Array, "검색값", False)
      '########################
      Function Filtered_DB(DB, Value, Optional FilterCol, Optional ExactMatch As Boolean = False) As Variant
      
      Dim cRow As Long
      Dim cCol As Long
      Dim vArr As Variant: Dim s As String: Dim filterArr As Variant:  Dim Cols As Variant: Dim Col As Variant: Dim Colcnt As Long
      Dim isDateVal As Boolean
      Dim vReturn As Variant: Dim vResult As Variant
      Dim Dict As Object: Dim dictKey As Variant
      Dim i As Long: Dim j As Long
      Dim Operator As String
      
      Set Dict = CreateObject("Scripting.Dictionary")
      
      If Value <> "" Then
          cRow = UBound(DB, 1)
          cCol = UBound(DB, 2)
          ReDim vArr(1 To cRow)
          For i = 1 To cRow
              s = ""
              For j = 1 To cCol
                  s = s & DB(i, j) & "|^"
              Next
              vArr(i) = s
          Next
          
          If IsMissing(FilterCol) Then
              filterArr = vArr
          Else
              Cols = Split(FilterCol, ",")
              ReDim filterArr(1 To cRow)
              For i = 1 To cRow
                  s = ""
                  For Each Col In Cols
                      s = s & DB(i, Trim(Col)) & "|^"
                  Next
                  filterArr(i) = s
              Next
          End If
          
          If left(Value, 2) = ">=" Or left(Value, 2) = "<=" Or left(Value, 2) = "=>" Or left(Value, 2) = "=<" Then
              Operator = left(Value, 2)
              If IsDate(Right(Value, Len(Value) - 2)) Then isDateVal = True
          ElseIf left(Value, 1) = ">" Or left(Value, 1) = "<" Then
              Operator = left(Value, 1)
              If IsDate(Right(Value, Len(Value) - 1)) Then isDateVal = True
          Else: End If
          
          If Operator <> "" Then
              If isDateVal = False Then
                  Select Case Operator
                      Case ">"
                          For i = 1 To cRow
                              If CDbl(left(filterArr(i), Len(filterArr(i)) - 2)) > CDbl(Right(Value, Len(Value) - 1)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                      Case "<"
                          For i = 1 To cRow
                              If CDbl(left(filterArr(i), Len(filterArr(i)) - 2)) < CDbl(Right(Value, Len(Value) - 1)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                      Case ">=", "=>"
                          For i = 1 To cRow
                              If CDbl(left(filterArr(i), Len(filterArr(i)) - 2)) >= CDbl(Right(Value, Len(Value) - 2)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                       Case "<=", "=<"
                          For i = 1 To cRow
                              If CDbl(left(filterArr(i), Len(filterArr(i)) - 2)) <= CDbl(Right(Value, Len(Value) - 2)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                  End Select
              Else
                  Select Case Operator
                      Case ">"
                          For i = 1 To cRow
                              If CDate(left(filterArr(i), Len(filterArr(i)) - 2)) > CDate(Right(Value, Len(Value) - 1)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                      Case "<"
                          For i = 1 To cRow
                              If CDate(left(filterArr(i), Len(filterArr(i)) - 2)) < CDate(Right(Value, Len(Value) - 1)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                      Case ">=", "=>"
                          For i = 1 To cRow
                              If CDate(left(filterArr(i), Len(filterArr(i)) - 2)) >= CDate(Right(Value, Len(Value) - 2)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                       Case "<=", "=<"
                          For i = 1 To cRow
                              If CDate(left(filterArr(i), Len(filterArr(i)) - 2)) <= CDate(Right(Value, Len(Value) - 2)) Then: vArr(i) = left(vArr(i), Len(vArr(i)) - 2): vReturn = Split(vArr(i), "|^"): Dict.Add i, vReturn
                          Next
                  End Select
              End If
          Else
              If ExactMatch = False Then
                  For i = 1 To cRow
                      If filterArr(i) Like "*" & Value & "*" Then
                          vArr(i) = left(vArr(i), Len(vArr(i)) - 2)
                          vReturn = Split(vArr(i), "|^")
                          Dict.Add i, vReturn
                      End If
                  Next
              Else
                  For i = 1 To cRow
                      If filterArr(i) Like Value & "|^" Then
                          vArr(i) = left(vArr(i), Len(vArr(i)) - 2)
                          vReturn = Split(vArr(i), "|^")
                          Dict.Add i, vReturn
                      End If
                  Next
              End If
          End If
              
          If Dict.Count > 0 Then
              ReDim vResult(1 To Dict.Count, 1 To cCol)
              i = 1
              For Each dictKey In Dict.Keys
                  For j = 1 To cCol
                      vResult(i, j) = Dict(dictKey)(j - 1)
                  Next
                  i = i + 1
              Next
          End If
          
          Filtered_DB = vResult
      Else
          Filtered_DB = DB
      End If
      
      End Function
      
      '########################
      ' 각 제품별 잔고수량을 계산합니다.
      ' DB = Get_Balance(DB, shtInventory, 입고수량열번호, 출고수량열번호, 제품ID열번호)
      '########################
      
      Function Get_Balance(DB, InventoryWS As Worksheet, ColumnIN, ColumnOUT, ColumnID) As Variant
      
      Dim InventoryDB As Variant
      Dim Dict As Dictionary
      Dim cRow As Long: Dim cCol As Long
      Dim i As Long: Dim cID
      
      If Not IsNumeric(ColumnOUT) Then ColumnOUT = Range(ColumnOUT & 1).Column
      If Not IsNumeric(ColumnIN) Then ColumnIN = Range(ColumnIN & 1).Column
      If Not IsNumeric(ColumnID) Then ColumnID = Range(ColumnID & 1).Column
      
      cRow = UBound(DB, 1)
      cCol = UBound(DB, 2)
      Set Dict = CreateObject("Scripting.Dictionary")
      
      ReDim Preserve DB(1 To cRow, 1 To cCol + 1)
      
      For i = 1 To cRow:    Dict.Add DB(i, 1), 0: Next
      InventoryDB = Get_DB(InventoryWS)
      
      For i = LBound(InventoryDB, 1) To UBound(InventoryDB, 1)
          cID = InventoryDB(i, ColumnID)
          If Dict.Exists(cID) Then
              Dict(cID) = Dict(cID) + InventoryDB(i, CLng(ColumnIN)) - InventoryDB(i, CLng(ColumnOUT))
          End If
      Next
      
      For i = LBound(DB, 1) To UBound(DB, 1)
          DB(i, cCol + 1) = Dict(DB(i, 1))
      Next
      
      Get_Balance = DB
      
      End Function
      
      '########################
      ' 특정 시트의 DB 정보를 Dictionary로 반환 (이번 예제파일에서만 사용)
      ' Dict = GetDict(Sheet1)
      '########################
      Function Get_Dict(WS As Worksheet) As Object
      
      Dim cRow As Long: Dim cCol As Long
      Dim Dict As Object
      Dim vArr As Variant
      Dim i As Long: Dim j As Long
      
      Set Dict = CreateObject("Scripting.Dictionary")
      
      With WS
          cRow = Get_InsertRow(WS) - 1
          cCol = Get_ColumnCnt(WS)
          
          For i = 1 To cRow
              ReDim vArr(1 To cCol - 1)
              For j = 2 To cCol
                  vArr(j - 1) = .Cells(i, j)
              Next
              Dict.Add .Cells(i, 1).Value, vArr
          Next
      End With
      
      Set Get_Dict = Dict
      
      End Function
      
      '###############################################################
      '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
      '▶ Arr_To_Dict 함수
      '▶ 범위를 Dictionary 로 변환합니다.
      '▶ 인수 설명
      '_____________Arr       : Dictionary로 변환할 배열입니다.
      '▶ 사용 예제
      'Dict = Arr_To_Dict(Arr)
      '##############################################################
      Function Arr_To_Dict(Arr As Variant) As Object
      
      Dim Dict As Object: Dim vArr As Variant
      Dim cCol As Long
      Dim i As Long: Dim j As Long
      
      Set Dict = CreateObject("Scripting.Dictionary")
      cCol = UBound(Arr, 2)
      
      For i = LBound(Arr, 1) To UBound(Arr, 1)
              ReDim vArr(1 To cCol - 1)
              For j = 2 To cCol
                  vArr(j - 1) = Arr(i, j)
              Next
              Dict.Add Arr(i, 1), vArr
      Next
      
      Set Arr_To_Dict = Dict
      
      End Function
      
      '###############################################################
      '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
      '▶ Dict_To_Arr 함수
      '▶ Dictionary를 범위로 변환합니다.
      '▶ 인수 설명
      '_____________Dict       : 배열로 변환할 Dictionary 입니다.
      '▶ 사용 예제
      'Arr = Dict_To_Arr(Dict)
      '##############################################################
      Function Dict_To_Arr(Dict As Object) As Variant
      
      Dim i As Long: Dim j As Long: Dim dictKey As Variant: Dim cCol As Long
      Dim vTest As Variant
      i = 1
      
      If Dict.Count > 0 Then
          If IsObject(Dict(Dict.Keys()(0))) Then cCol = UBound(Dict(Dict.Keys()(0))) Else cCol = 1
          ReDim vResult(1 To Dict.Count, 1 To cCol + 1)
          For Each dictKey In Dict.Keys
              vResult(i, 1) = dictKey
              If cCol = 1 Then
                  vResult(i, 2) = Dict(dictKey)
              Else
                  For j = 2 To cCol + 1
                      vResult(i, j) = Dict(dictKey)(j - 1)
                  Next
              End If
              i = i + 1
          Next
      End If
      
      Dict_To_Arr = vResult
          
      End Function
      '########################
      ' 시트의 특정 필드 내에서 추가되는 값이 고유값인지 확인. 고유값일 경우 TRUE를 반환
      ' boolean = IsUnique(Sheet1, "사과", 1)
      '########################
      Function IsUnique(DB As Variant, uniqueVal, Optional ColNo As Long = 1, Optional Exclude) As Boolean
      
      Dim endRow As Long
      Dim i As Long
      
      For i = LBound(DB, 1) To UBound(DB, 1)
          If DB(i, ColNo) = uniqueVal Then
              If Not IsMissing(Exclude) Then
                  If Exclude <> uniqueVal Then
                      IsUnique = False
                      Exit Function
                  End If
              Else
                  IsUnique = False: Exit Function
              End If
          End If
      Next
      
      IsUnique = True
      
      End Function
      
      '###############################################################
      '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
      '▶ Extract_Column 함수
      '▶ 배열에서 지정한 열을 추출합니다.
      '▶ 인수 설명
      '_____________DB        : 특정 열을 추출할 배열입니다.
      '_____________Col       : 배열에서 추출할 열의 열번호입니다.
      '▶ 사용 예제
      'Arr = Extract_Column(Arr, 3) '<- 3번째 열을 추출합니다.
      '##############################################################
      
      Function Extract_Column(DB As Variant, Col As Long) As Variant
      
      Dim i As Long
      Dim vArr As Variant
      
      ReDim vArr(LBound(DB) To UBound(DB), 1 To 1)
      For i = LBound(DB) To UBound(DB)
              vArr(i, 1) = DB(i, Col)
      Next
      
      Extract_Column = vArr
      
      End Function
      
      사용한vba에서 함수는 이것이고, 이 함수를 불러와 사용한부분은 저기 동그라미 친 부분입니다.
      
      -엑셀 재고관리프로그램 만들기- 강의중 1일차 내용에 포함된 자료입니다.

전체 4,215
번호 카테고리 제목 작성자 작성일 추천 조회
4199 함수/공식
New 부품과 완제품 수량 연동 질문입니다. 첨부파일 (1)
receive | 17:54 | 추천 1 | 조회 12
receive 17:54 1 12
4198 VBA
New 시트별 셀수정 관련 질문드립니다 첨부파일 (1)
ehrud**** | 15:38 | 추천 0 | 조회 20
ehrud**** 15:38 0 20
4197 기능/도구
New 엑셀 추가기능 XFILTER를 사용한 파일이 XFILTER 가 설치되어있는 다른PC에서 열때 오류가 납니다.
No14 | 14:35 | 추천 2 | 조회 15
No14 14:35 2 15
4196 기능/도구
New 엑셀데이터유효성검사 질문입니다 꼭 도와주세용 첨부파일 (3)
하곰 | 14:20 | 추천 0 | 조회 26
하곰 14:20 0 26
4195 함수/공식
New 동적엑셀 서식 (1)
| 13:20 | 추천 0 | 조회 22
13:20 0 22
4194 함수/공식
New 합계 및 합수값 해결방법 첨부파일 (2)
kk**** | 12:52 | 추천 0 | 조회 23
kk**** 12:52 0 23
4193 VBA
New 특정날짜 데이터만 COPY 붙이기 첨부파일 (2)
H.B | 12:37 | 추천 0 | 조회 22
H.B 12:37 0 22
4192 함수/공식
New 강의실내용 교재로 받을수 있나요?
호반안개 | 11:11 | 추천 0 | 조회 28
호반안개 11:11 0 28
4191 함수/공식
New 월별 매출을 위해 서식을 짜고있습니다 첨부파일 (2)
크래용 | 10:23 | 추천 0 | 조회 37
크래용 10:23 0 37
4190 VBA
New ParseJSON 함수 자리차지 첨부파일 (3) 답변완료
하늘의 꿈 | 02:41 | 추천 0 | 조회 32
하늘의 꿈 02:41 0 32
4189 VBA
New vba listbox 에 head 추가하는 방법 (1)
서민철 | 2021.10.17 | 추천 0 | 조회 30
서민철 2021.10.17 0 30
4188 함수/공식
New 다품목 안전 재고 관리시 사용할 수 있는 함수 문의
엑셀왕왕초보 | 2021.10.17 | 추천 0 | 조회 27
엑셀왕왕초보 2021.10.17 0 27
4187 함수/공식
New importrange로 불러온 그림이 인쇄가 안됩니다..ㅠㅠ (2) 답변완료
민 쌤 | 2021.10.17 | 추천 0 | 조회 25
민 쌤 2021.10.17 0 25
4186 함수/공식
New 꼭 도와 주세요. 첨부파일 (3)
그린의달인 | 2021.10.16 | 추천 1 | 조회 61
그린의달인 2021.10.16 1 61
4185 함수/공식
New 공백 유지하는 중복 제거 문의 첨부파일 (4) 답변완료
clairebear8 | 2021.10.16 | 추천 0 | 조회 48
clairebear8 2021.10.16 0 48
4184 함수/공식
New 엑셀 공식 도와주세요~ 첨부파일 (1)
ma**** | 2021.10.16 | 추천 0 | 조회 55
ma**** 2021.10.16 0 55
4183
New 제가 만든 엑셀VBA가 오류들이 있어 도움을 청합니다. 첨부파일 (1)
유림아빠 | 2021.10.16 | 추천 0 | 조회 36
유림아빠 2021.10.16 0 36
4182 차트/그래프
New 이런 챠트도 가능한지요 (1)
| 2021.10.16 | 추천 0 | 조회 57
2021.10.16 0 57
4181 함수/공식
New 중복값 제거 및 특정조건을 만족하는 값만 표시 첨부파일 (4)
리부트짱가 | 2021.10.16 | 추천 0 | 조회 51
리부트짱가 2021.10.16 0 51
4180 VBA
New pdf파일저장 + 드롭다운 매크로 VBA 문의드립니다. 첨부파일 (1)
호두마루 | 2021.10.16 | 추천 1 | 조회 30
호두마루 2021.10.16 1 30
4179 기능/도구
다중조건을 다수의 셀에 입력하는 방법 (1)
seeking | 2021.10.15 | 추천 0 | 조회 40
seeking 2021.10.15 0 40
4178 함수/공식
같은 값끼리 같은 색을 적용하고 싶습니다 첨부파일 (6) 답변완료
유령회원 | 2021.10.15 | 추천 0 | 조회 40
유령회원 2021.10.15 0 40
4177 VBA
VBA로 날짜 입력하는데 형식이 날짜형실으로 바꿀수있을까요? (1)
박종만 | 2021.10.15 | 추천 0 | 조회 36
박종만 2021.10.15 0 36
4176 VBA
VBA에서 엑셀파일 여는 버튼을 만들었습니다. 첨부파일 (2) 답변완료
늘푸른2 | 2021.10.15 | 추천 0 | 조회 38
늘푸른2 2021.10.15 0 38
4175 VBA
살려주세욤.. 다중조건+중복제거 데이터유효성검사.. 첨부파일
지져스 | 2021.10.15 | 추천 0 | 조회 47
지져스 2021.10.15 0 47
4174 차트/그래프
차트 시간축 간격을 조정하는 방법 첨부파일 (1)
kimki**** | 2021.10.15 | 추천 0 | 조회 24
kimki**** 2021.10.15 0 24
4173 VBA
웹 크롤링 관련 문의 (2) 답변완료
숯검뎅이 | 2021.10.15 | 추천 0 | 조회 38
숯검뎅이 2021.10.15 0 38
4172 VBA
유저폼 리스트박스 검색 첨부파일 (2) 답변완료
007 | 2021.10.14 | 추천 0 | 조회 47
007 2021.10.14 0 47
4171 VBA
셀선택 관련 문의 드려요. (3) 답변완료
033cola | 2021.10.14 | 추천 0 | 조회 37
033cola 2021.10.14 0 37
4170 차트/그래프
특정 가로축을 강조하는 방법 및 세로축 단위 입력 방법이 궁금합니다. (3) 답변완료
sorryfo**** | 2021.10.14 | 추천 0 | 조회 29
sorryfo**** 2021.10.14 0 29