吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1586|回复: 15
收起左侧

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

[复制链接]
恭仔chen 发表于 2021-9-22 12:18
25吾爱币
附件为数据表和预算模板两个execl工作簿,现在要求将数据表中的数据按对应工程名称的工作量分别填写的预算模板三个表格中,并生成对应xls表格。感谢
image.png

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

最佳答案

查看完整内容

Sub 试用() Dim irow&, icol& Dim wb1 As Workbook, sh1 As Worksheet Set wb1 = ThisWorkbook Set sh1 = wb1.Sheets(1) irow = sh1.[a65536].End(xlUp).Row icol = sh1.[zz1].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 < ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

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.[a65536].End(xlUp).Row
icol = sh1.[zz1].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可以实现,如果量大用代码做,

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
恭仔chen + 1 + 1 我很赞同!

查看全部评分

 楼主| 恭仔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
那你说清楚,到底要什么样的

大神,是两个工作簿来的。一个工程量,一个预算的。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 22:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表