【发布时间】:2019-01-04 03:49:48
【问题描述】:
我有 4 张名称 Project Creation、Ashok、Master 和 Sheet 主要
Sheet 包含有关项目详细信息以及数据和一些列数据将被复制到项目表当时的项目结构(标题名称和合并行的设计),如果我插入新的,将从主工作表加载几列数据主工作表中的行,它应该使用少量列数据更新项目工作表,但使用子工作表结构(空设计模板)。
我实现了以下代码,问题是每次替换第一条记录(它是合并的行)我的意思是如果插入第二行它正在替换。
请帮助我并参考图片
Private Sub CopyDataFrmExcell()
Dim xRCount As Long
Dim xSht As Worksheet
Dim ws As Worksheet
Dim xNSht As Worksheet
Dim lrs As Long, lrd As Long, p As Long, brd As Long, krd As Long, LastRowNumber As Long
lrs = Sheets("ProjectCreation").Cells(Sheets("ProjectCreation").Rows.Count, 1).End(xlUp).Row
With Sheets("Ashok") 'longer to type than "Summary"
For p = 2 To lrs 'assumes header in row 1
If p = 2 Then
lrd = .Cells(.Rows.Count, 1).End(xlUp).Row
Sheets("Ashok").Cells(5, 7).Value = Sheets("ProjectCreation").Cells(p, 9).Value
brd = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(5, 8).Value = Sheets("ProjectCreation").Cells(p, 10).Value
krd = .Cells(.Rows.Count, 1).End(xlUp).Row
.Cells(5, 9).Value = Sheets("ProjectCreation").Cells(p, 11).Value
Else
Sheets("Sheet4").Select
Sheets("Sheet4").Range("A1:Y6").Copy Destination:=Sheets("Ashok").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Sheets("Ashok").Select
LastRowNumber = Sheets("Ashok").Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
lrd = .Cells(.Rows.Count, 1).End(xlUp).Row
Sheets("Ashok").Cells(LastRowNumber + 1, 7).Value = Sheets("ProjectCreation").Cells(p, 9).Value
brd = .Cells(.Rows.Count, 6).End(xlUp).Row
.Cells(LastRowNumber + 1, 8).Value = Sheets("ProjectCreation").Cells(p, 10).Value
krd = .Cells(.Rows.Count, 6).End(xlUp).Row
.Cells(LastRowNumber + 1, 9).Value = Sheets("ProjectCreation").Cells(p, 11).Value
End If
Next p
End With
End Sub
【问题讨论】:
标签: excel