求助execl vba按模板表格批量填写数值
附件为数据表和预算模板两个execl工作簿,现在要求将数据表中的数据按对应工程名称的工作量分别填写的预算模板三个表格中,并生成对应xls表格。感谢链接: https://pan.baidu.com/s/1B-Rft_kvOGJNDECOEyNB8Q 提取码: xy2r 复制这段内容后打开百度网盘手机App,操作更方便哦 18702770531 发表于 2021-9-22 15:15
写个vba不就行了,这也不难吧
Sub 试用()
Dim irow&, icol&
Dim wb1 As Workbook, sh1 As Worksheet
Set wb1 = ThisWorkbook
Set sh1 = wb1.Sheets(1)
irow = sh1..End(xlUp).Row
icol = sh1..End(xlToLeft).Column
Ph = wb1.Path
For i = 2 To icol
Workbooks.Add
ActiveWorkbook.SaveAs Filename:=Ph & "\" & sh1.Cells(1, i) & "_预算"
With ActiveWorkbook
If .Sheets.Count < 3 Then
.Sheets.Add
.Sheets.Add
End If
.Sheets(1).Name = "工程名称"
.Sheets(2).Name = "工作量"
.Sheets(3).Name = "其他费用"
With .Sheets("工程名称")
For l = 2 To irow
If sh1.Cells(l, 1) = "工程名称" Then
j = j + 1
.Cells(j, 1) = "工程名称"
.Cells(j, 2) = sh1.Cells(l, i)
End If
Next
End With
With .Sheets("工作量")
For l = 2 To irow
If sh1.Cells(l, 1) = "工作量" Then
j1 = j1 + 1
.Cells(j1, 1) = "工作量"
.Cells(j1, 2) = sh1.Cells(l, i)
End If
Next
End With
With .Sheets("其他费用")
For l = 2 To irow
If sh1.Cells(l, 1) = "其他费用" Then
j2 = j2 + 1
.Cells(j2, 1) = "其他费用"
.Cells(j2, 2) = sh1.Cells(l, i)
End If
Next
End With
j = 0
j1 = 0
j2 = 0
End With
Next
End Sub
这个用excel可以实现,如果量大用代码做, 987fw 发表于 2021-9-22 14:38
这个用excel可以实现,如果量大用代码做,
用其他也可以啊,主要是解决数据批量填充问题。求大神帮忙。求大神帮忙。求大神帮忙。 写个vba不就行了,这也不难吧 18702770531 发表于 2021-9-22 15:15
写个vba不就行了,这也不难吧
不行,求大神帮忙 18702770531 发表于 2021-9-22 15:40
Sub 试用()
Dim irow&, icol&
Dim wb1 As Workbook, sh1 As Worksheet
随便写了一下,你自己拿去用吧,不知道怎么用代码的话,就百度吧 18702770531 发表于 2021-9-22 15:41
随便写了一下,你自己拿去用吧,不知道怎么用代码的话,就百度吧
不是填写到模板里面的。差一点。 恭仔chen 发表于 2021-9-22 16:59
不是填写到模板里面的。差一点。
那你说清楚,到底要什么样的 18702770531 发表于 2021-9-22 17:08
那你说清楚,到底要什么样的
大神,是两个工作簿来的。一个工程量,一个预算的。
页:
[1]
2