Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
楼主: 兰色幻想

VBA80集第12集作业上交贴:非空行

  [复制链接]
发表于 2018-10-22 21:54 | 显示全部楼层
学习
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

发表于 2018-10-25 23:41 | 显示全部楼层
回复

使用道具 举报

发表于 2018-10-26 16:56 | 显示全部楼层
回复

使用道具 举报

发表于 2018-10-26 22:30 | 显示全部楼层
想知道答案
回复

使用道具 举报

发表于 2018-10-31 11:07 | 显示全部楼层
题目1:
B:D列各行单元格,如果为非空,则在该行A列填充数字1,如A列所示,要求:不得使用循环
Sub test()
Dim rg As Range
Dim rg0 As Range
Dim rg1 As Range
Set rg = Range("B:D").SpecialCells(2).EntireRow
Set rg0 = Range("A:A")
Set rg1 = Intersect(rg,rg0)
rg1.Value = 1
End Sub


题目2:
打开本路径下的A.Xls文件,并把文件中的所有工作表的明细数据合并到本表中,上下排列。注: A.xls文件中工作表数量和明细表行数和列数均不定.但各个工作表中的行列数量相同。

Sub test1()
Dim wb As Workbook
Dim wb0 As Workbook
Dim rg As Range
Dim rg0 As Range
Dim i As Integer
Dim j As Integer
j = 1
Set wb = Workbooks.Open("E:\A.xls")
Set wb0 = Workbooks("第12集练习题.xls")
i = wb.Sheets.Count
For j = 1 To i
    If j = 1 Then
       wb.Sheets(1).UsedRange.Copy wb0.Sheets("第2题").Range("a1")
    Else
       Set rg = wb.Sheets(i).Range("a1").End(xlDown)
        Set rg0 = rg.End(xlToRight)
        wb.Sheets(i).Range("a2",rg0).Copy wb0.Sheets("第2题").Range("a65536").End(xlUp).Offset(1, 0)
    End If
Next j
wb.Close False
End Sub



回复

使用道具 举报

发表于 2018-11-1 10:56 | 显示全部楼层

回复

使用道具 举报

发表于 2018-11-3 11:07 | 显示全部楼层
大部分人乱写的答案
回复

使用道具 举报

发表于 2018-11-3 19:08 | 显示全部楼层
想不出
回复

使用道具 举报

发表于 2018-11-4 10:27 | 显示全部楼层
第二题最简洁答案:
Sub t1()
Dim i As Integer, wb As Workbook
Set wb = Workbooks.Open(ThisWorkbook.Path & "\A.xls")
For i = 1 To wb.Sheets.Count
wb.Sheets(i).UsedRange.Offset(1, 0).Copy ThisWorkbook.Sheets(2).Range("a65535").End(xlUp).Offset(1, 0)
Next i
wb.Close True
End Sub
回复

使用道具 举报

发表于 2018-11-8 10:02 | 显示全部楼层
我只是来看答案的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 10:56 , Processed in 0.225288 second(s), 8 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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