바코드 스캐너를 사용하여 대량 재고를 처리하고 있으며 데이터를 Excel에 입력하고 싶습니다. 탭, 반환 등과 같은 작업을 수행하기 위해 각 스캔 후 스캐너의 작동 방식을 변경할 수 있지만 내 큰 문제는 수량을 효율적으로 제공하기 위해 항목 코드 (7 자리)를 스캔 한 다음 스캔해야한다는 것입니다. 연속적으로 0에서 9까지의 수량. 548은 실제로 5, 4, 8이고 Excel을 사용할 때 각 숫자를 새 셀에 넣습니다. 내가하고 싶은 것은 VBA가 없어서 길이가 7 자리인지 한자리인지 확인하는 엑셀 체크를하는 것입니다. 각 1 자리 숫자에 대해 이전 7 자리 숫자와 동일한 행의 다음 셀로 숫자를 이동하여 Excel이 셀을 연결하는 것처럼 연속 된 1 자리 숫자가 결합되도록해야합니다.
이해가 되길 바랍니다.
예:
7777777
3
4
5
7777778
4
5
6
7777779
7
8
9
되어야합니다 :
| 7777777 | 345 |
| 7777778 | 456 |
| 7777779 | 789 |
감사!!
다음과 같이 워크 시트를 설정했습니다.
그런 다음 아래 코드를 실행했습니다.
Sub Digits()
Application.ScreenUpdating = False
Dim i&, r As Range, j&
With Columns("B:B")
.ClearContents
.NumberFormat = "@"
End With
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Set r = Cells(i, 1)
If Len(r) = 7 Then
j = 1
Do Until ((Len(r.Offset(j, 0).Text) = 7) Or (IsEmpty(r.Offset(j, 0))))
Cells(i, 2) = CStr(Cells(i, 2).Value) & CStr(r.Offset(j, 0))
j = j + 1
Loop
End If
Set r = Nothing
Next
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
If Len(Cells(i, 1)) < 7 Then Rows(i & ":" & i).Delete
Next i
Columns.AutoFit
Application.ScreenUpdating = True
End Sub
그리고 내가 얻은 결과 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다