恭仔chen 发表于 2021-9-22 12:18

求助execl vba按模板表格批量填写数值

附件为数据表和预算模板两个execl工作簿,现在要求将数据表中的数据按对应工程名称的工作量分别填写的预算模板三个表格中,并生成对应xls表格。感谢


链接: https://pan.baidu.com/s/1B-Rft_kvOGJNDECOEyNB8Q 提取码: xy2r 复制这段内容后打开百度网盘手机App,操作更方便哦

HarckerG 发表于 2021-9-22 12:18

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

987fw 发表于 2021-9-22 14:38

这个用excel可以实现,如果量大用代码做,

恭仔chen 发表于 2021-9-22 14:40

987fw 发表于 2021-9-22 14:38
这个用excel可以实现,如果量大用代码做,
用其他也可以啊,主要是解决数据批量填充问题。求大神帮忙。求大神帮忙。求大神帮忙。

HarckerG 发表于 2021-9-22 15:15

写个vba不就行了,这也不难吧

恭仔chen 发表于 2021-9-22 15:37

18702770531 发表于 2021-9-22 15:15
写个vba不就行了,这也不难吧

不行,求大神帮忙

HarckerG 发表于 2021-9-22 15:41

18702770531 发表于 2021-9-22 15:40
Sub 试用()
Dim irow&, icol&
Dim wb1 As Workbook, sh1 As Worksheet


随便写了一下,你自己拿去用吧,不知道怎么用代码的话,就百度吧

恭仔chen 发表于 2021-9-22 16:59

18702770531 发表于 2021-9-22 15:41
随便写了一下,你自己拿去用吧,不知道怎么用代码的话,就百度吧

不是填写到模板里面的。差一点。

HarckerG 发表于 2021-9-22 17:08

恭仔chen 发表于 2021-9-22 16:59
不是填写到模板里面的。差一点。

那你说清楚,到底要什么样的

恭仔chen 发表于 2021-9-22 17:24

18702770531 发表于 2021-9-22 17:08
那你说清楚,到底要什么样的

大神,是两个工作簿来的。一个工程量,一个预算的。
页: [1] 2
查看完整版本: 求助execl vba按模板表格批量填写数值