Note: The other languages of the website are Google-translated. Back to English

열의 셀 값을 기반으로 행을 복제하는 방법은 무엇입니까?

예를 들어 D 열의 숫자 목록을 포함하는 데이터 범위가 있는데 이제 D 열의 숫자 값을 기반으로 전체 행을 여러 번 복제하여 다음 결과를 얻고 싶습니다. Excel의 셀 값을 기반으로 행을 여러 번 복사하려면 어떻게해야합니까?

셀 1에 의해 문서 중복 행

VBA 코드로 셀 값을 기반으로 여러 번 행 복제


화살표 블루 오른쪽 거품 VBA 코드로 셀 값을 기반으로 여러 번 행 복제

셀 값을 기반으로 전체 행을 여러 번 복사하고 복제하려면 다음 VBA 코드가 도움이 될 수 있습니다.

1. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 다음 코드를 모듈 창문.

VBA 코드 : 셀 값을 기준으로 행을 여러 번 복제합니다.

Sub CopyData()
'Updateby Extendoffice
    Dim xRow As Long
    Dim VInSertNum As Variant
    xRow = 1
    Application.ScreenUpdating = False
    Do While (Cells(xRow, "A") <> "")
        VInSertNum = Cells(xRow, "D")
        If ((VInSertNum > 1) And IsNumeric(VInSertNum)) Then
           Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
           Range(Cells(xRow + 1, "A"), Cells(xRow + VInSertNum - 1, "D")).Select
           Selection.Insert Shift:=xlDown
           xRow = xRow + VInSertNum - 1
        End If
        xRow = xRow + 1
    Loop
    Application.ScreenUpdating = False
End Sub

3. 그런 다음 F5 이 코드를 실행하려면 필요에 따라 D 열의 셀 값을 기반으로 전체 행이 여러 번 복제되었습니다.

주의 사항: 위 코드에서 문자 A 데이터 범위의 시작 열과 문자를 나타냅니다. D 행을 복제 할 기준이되는 열 문자입니다. 필요에 따라 변경하십시오.


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (41)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 완벽하게 작동했습니다. '0'이 있는 줄이 사라지게 하려면 코드에 무엇을 추가해야 합니까? 우리는 이것을 SKU 레이블에 사용하고 있습니다. 훌륭한 솔루션에 감사드립니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
사랑해요. 고맙습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
고맙습니다! 10행과 11행 "D"는 행의 끝을 나타내며 작동하려면 데이터 범위로 변경해야 할 수 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,
누군가 이 VBA 코드를 Google Apps 스크립트(Google 시트)로 핫 변환한다는 것을 알고 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭하게 작동하는 위의 코드를 사용했지만 행을 붙여넣은 후 한 단계가 더 필요합니다. 제대로 작동하지 않을 뿐입니다. 붙여 넣은 후 행의 "N"열에 XNUMX을 입력해야하지만 원래 복사 된 행의 "N"값은 유지해야합니다.


하위 CopyData()
'업데이트바이 Extendoffice 20160922
길이만큼 xRow 희미하게 만들기
Dim VInSertNum as Variant
x행 = 1
Application.ScreenUpdating = False
동안 수행(Cells(xRow, "A") <> "")
VInSertNum = 셀(xRow, "J")
If ((VInSertNum > 1) And IsNumeric(VInSertNum)) 그러면
Range(Cells(xRow, "A"), Cells(xRow, "AN")).복사
' Cells(xRow, 14).Value = 0 이것은 모든 행을 수행했습니다.
범위(셀(xRow + 1, "A"), 셀(xRow + VInSertNum - 1, "AN")).선택
'Cells(xRow, 14).값 = 0
'이 모든 행을 했다
Selection.Shift 삽입:=xlDown
' Cells(xRow, 14).Value = 0 이것은 첫 번째 행만 수행했습니다.
xRow = xRow + VInSertNum - 1
'셀(xRow - 1, 14).값 = 0
END IF
' 셀(xRow - 1, 14).값 = 0
x행 = x행 + 1
' 셀(xRow + 1, 14).값 = 0
고리
'Cells(xRow, 14).Value = 0 행이 없습니다.
Application.ScreenUpdating = False
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
스티브, 당신은 이것을 할 수 있었습니까? 내 요구 사항은 동일합니다 :(
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 얘들아,
아래 기사가 도움이 될 수 있습니다. 확인하십시오.
https://www.extendoffice.com/documents/excel/3682-excel-copy-and-insert-row-multiple-times.html
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
셀 d에 '예'가 포함된 경우에 따라 행을 한 번만 복제하는 코드가 무엇인지 알고 있습니까? 비슷한 코드를 쫓고 있지만 예라고 말하는 셀을 기반으로 행을 복제하는 코드에 대해
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
그래서 이 코드를 사용하고 있지만 행 1 또는 xRow = 1로 표시된 것이 아닌 전체 문서를 검색하기를 원합니다. 1:2000 범위에 넣으려고 하지만 작동하지 않습니다. xRow = 아래 코드에서 식별한 정보가 포함된 시트의 행을 어떻게 식별할 수 있습니까?


길이만큼 xRow 희미하게 만들기
변종으로 희미한 값


x행 = 1: 2000

Application.ScreenUpdating = False
동안 수행(Cells(xRow, "A") <> "")
값 = 셀(xRow, "D")
값2 = 셀(xRow, "A")
If Not ((Value = "allegheny general") And IsNumeric(Value2 = G0202)) then
Range(Cells(xRow, "A"), Cells(xRow, "D")).Copy
Range(Cells(xRow + 1, "A"), Cells(xRow + 1, "D")).Select
Selection.Shift 삽입:=xlDown
x행 = x행 + 1
END IF
x행 = x행 + 1
고리
Application.ScreenUpdating = False
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 이것은 잘 작동했습니다. 그러나 1000개의 항목이 있는 보고서가 있고 항목 480에서 코드 복제가 중지되었습니다. 전체 보고서에 대한 작업을 완료하도록 추가할 수 있는 항목이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕, 리아
2000개의 행에서 코드를 테스트했으며 잘 작동합니다.
코드 테스트를 위해 워크시트를 저에게 보내주시겠습니까?
제 이메일 주소는 skyyang@입니다.extendoffice.COM
귀하의 회신을 기다리겠습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요! 작동하도록 했습니다. 내 쪽의 오류였습니다. 보고서에 숨겨진 몇 개의 빈 행이 있어서 스크립트가 반복되지 않게 하는 원인이 되었습니다. 8,000개의 행이 있는 내 보고서에서 작동했습니다! 감사합니다Q
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 레아와 스카이양입니다.
비슷한 문제가 있습니다. 스크립트는 약 100행의 워크시트에서 제대로 작동하지만 더 큰 작업에서는 작동을 멈춥니다. 곱셈 번호가 나오는 열에 빈 행이 있는지 확인했는데 아무 것도 없습니다. 스크립트가 더 큰 데이터 세트에 대해 작동하지 않을 수 있는 다른 이유가 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
감사해요! 그것은 내 모든 문제에 대한 훌륭한 해결책이었습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이 스크립트는 내가 필요한 것 같지만 실행하면 Selection.Insert Shift:=x1Down 행에서 오류가 발생합니다.

이 문제를 해결하는 방법에 대한 제안 사항이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 저는 작동하지 않습니다. 문자를 제거하고 숫자 복제가 가능합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
새 데이터만 복제하도록 모듈을 업데이트하는 방법이 있습니까? 진행 중인 문서에서 작업 중이며 코드가 이전에 복제된 데이터를 복제하는 것을 원하지 않습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
반복되는 각 셀에 연속 문자를 추가할 수 있는 방법이 있습니까? 예시
KTE+0001

KTE+0002
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
사랑스러운! 고맙습니다. 복사된 각 행(1, 2, 3, 4 등)에 대해 증가하는 값인 테이블(열 E)에 새 정보 열을 통합하는 방법에 대한 힌트를 줄 수 있는 사람이 있는지 궁금합니다. 그런 다음 X 번 복제할 다음 항목에 도달하면 1부터 다시 번호를 매기기 시작하고 매번 1씩 증가합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 저는 이것을 시도했지만 복제 중인 데이터에 여러 기준이 있는지 고려할 방법이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕,

제공된 수식을 사용하여 스프레드시트를 만들고 있는데 오류가 있습니다. 누군가 내 공식이 무엇인지 알려줄 수 있습니까?

내 테이블은 K 단위의 수량과 함께 AY에서 가져온 것입니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 이 코드를 조정하려고 했지만 어려움이 있습니다.
인벤토리 아이템이 있습니다. 각 항목은 두 개의 행이며 N 번 복제되기를 원합니다.
스프레드시트 상단에 A1이라고 부를 수 있는 셀이 있습니다. 몇 번이나 복제되고 있습니까? N
값 N이 무엇이든 간에, 내가 가지고 있는 초기 인벤토리 항목(A16, A17)을 그만큼 많이 복제하고 싶습니다.
따라서 복사된 항목은 A18에서 시작해야 합니다(두 행, 다음 항목 a20 등).
감사
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 코드가 잘 작동합니다. 또한 행이 복제될 때마다 날짜(평일만)에 +1을 추가하고 싶었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 감사합니다! 이렇게 하면 모든 데이터 행을 복사하여 붙여넣는 데 낭비하는 시간이 많이 절약되었습니다.
두 엄지척!!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭한 코드 조각!!! 고맙습니다!!!
아직 코멘트가 없습니다
더보기
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호