[英]Excel macro, to copy and paste a cell value based on another cell value?
[英]Excel Macro - How to copy/split row based on specific cell value
我正在處理一個巨大的電子表格,並且需要一些有關我要為其編寫的特定宏的幫助。
我有一堆信息,涉及哪些設備進入哪個房間。 每個房間針對要安裝的設備類型都有自己的一行。 有時,一個房間有多個相同的設備,並在數量列中指定。 我需要拆分/復制這樣的行,以便每個設備都有自己的行。
我目前所擁有的:
A B C
Equip. Name Rm Number Quantity
xxxxx 1.2.3.4 5
yyyyy 1.2.3.4 1
我需要宏為我執行的操作:查找數量大於1的所有行並將其復制到下面的行中,數量與數量值相同,且數量相同,並在整個電子表格中將其全部替換為數量1。
A B C
Equip. Name Rm Number Quantity
xxxxx 1.2.3.4 1
xxxxx 1.2.3.4 1
xxxxx 1.2.3.4 1
xxxxx 1.2.3.4 1
xxxxx 1.2.3.4 1
yyyyy 1.2.3.4 1
先感謝您。
為了擴展行,該附加宏將遵循以下模式:
。
Sub ExpandRows()
Dim dat As Variant
Dim i As Long
Dim rw As Range
Dim rng As Range
Set rng = ActiveSheet.UsedRange
dat = rng
' Loop thru your data, starting at the last row
For i = UBound(dat, 1) To 2 Step -1
' If Quantity > 1
If dat(i, 3) > 1 Then
' Insert rows to make space
Set rw = rng.Rows(i).EntireRow
rw.Offset(1, 0).Resize(dat(i, 3) - 1).Insert
' copy row data down
rw.Copy rw.Offset(1, 0).Resize(dat(i, 3) - 1)
' set Quantity to 1
rw.Cells(1, 3).Resize(dat(i, 3), 1) = 1
End If
Next
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.