다음 형식의 데이터가 있습니다.
CardMinder 5 4.1
Citrix Authentication Manager 6 5.1 7 8 5
Citrix Receiver Inside 4.2 4.1 4.3 4.4 4
나는 이것을 취하고 그 후 각 열에 첫 번째 열을 여러 번 추가하는 코드를 작성하려고합니다.
예
CardMinder 5
CardMinder 4.1
일부 작업 코드가 있지만 한 번에 한 행에서만 작동하며 두 번 실행하면 행 사이에 여러 개의 빈 행이 추가됩니다. 내가 뭘 잘못하고 있는지 잘 모르겠습니다.
귀하의 도움에 감사드립니다.
Sub createVersions()
Dim sheet As Worksheet
Set sheet = ActiveSheet
'Loop through columns in Excel sheet
Dim LastRow As Long, LastCol As Integer, c As Integer, r As Long
LastRow = ActiveSheet.UsedRange.Rows(ActiveSheet.UsedRange.Rows.Count).row
LastCol = ActiveSheet.UsedRange.Columns(ActiveSheet.UsedRange.Columns.Count).Column
For r = 1 To LastRow
If (LastCol > 2) Then
'Check column 3 to end for contents
For c = 3 To LastCol
rngParent = sheet.Cells(r, "A").Value
initChild = sheet.Cells(r, c).Value
If (initChild <> "") Then
'insert a row for extra column data
ActiveCell.EntireRow.Insert Shift:=xlShiftDown
sheet.Cells(r + 1, "A").Value = rngParent
sheet.Cells(r + 1, "B").Value = initChild
End If
Next c
End If
Next r
End Sub
내가 이해하는 바에 따르면 첫 번째 열의 모든 항목 조합과 해당 항목 다음 열의 모든 숫자가 포함 된 두 개의 열 목록을 얻으려고합니다. 데이터 세트 내에서이를 수행 할 수 있지만 솔직히 새 시트에 작성하면 훨씬 더 간단합니다. 그렇게하려면 기존 코드를 약간만 수정하면됩니다.
Sub createVersions()
Dim sheet As Worksheet
Set sheet = ActiveSheet
'Use a new sheet instead of messing with the base data
Dim wsVersionList As Worksheet
Set wsVersionList = ThisWorkbook.Sheets.Add
'Loop through columns in Excel sheet
Dim LastRow As Long, LastCol As Integer, c As Integer, r As Long
LastRow = sheet.UsedRange.Rows(sheet.UsedRange.Rows.Count).Row
LastCol = sheet.UsedRange.Columns(sheet.UsedRange.Columns.Count).Column
Dim CurRow As Long
CurRow = 1
For r = 1 To LastRow
If (LastCol > 2) Then
'Check column 2 to end for contents
For c = 2 To LastCol
rngParent = sheet.Cells(r, "A").Value
initChild = sheet.Cells(r, c).Value
If (initChild <> "") Then
'Write the software and verison values into the scratch sheet
wsVersionList.Cells(CurRow, 1) = rngParent
wsVersionList.Cells(CurRow, 2) = initChild
'Increment to the next row
CurRow = CurRow + 1
End If
Next c
End If
Next r
End Sub
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다