作者ktll (浪迹天涯的旅人)
看板Office
标题[算表] VBA转置贴上另存新档
时间Sun Sep 20 23:57:54 2020
软体:excel
版本:2016
原档:
https://imgur.com/JdfTA4n
想改成
https://imgur.com/6QTVThH
想把原档案转至後贴到另一个新档案,并且按照分公司名称存档
有尝试爬文来修正,但一直失败...
遇到有合并的存储格无法抓取,也不知道怎麽转置
想请教各位大大帮忙
Sub Macro1()
Dim rLastCell As Range
Dim strName As String
Dim lLoop As Long
Dim wbNew As Workbook
Dim cnt As Integer
With ThisWorkbook.Sheets(1)
Set rLastCell = .Cells.Find(What:="*", After:=[A1], _
SearchDirection:=xlPrevious)
For lLoop = 2 To rLastCell.Row
cnt = WorksheetFunction.CountIf(Range("c:c"), Range("c" & lLoop))
Set wbNew = Workbooks.Add
试跑到这边都是正常的,但後续就不知道如何处理了
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.215.170 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1600617478.A.3D5.html
1F:→ soyoso: 有写新增活页簿,新增时作用会在新活页簿上,所以range如 09/21 00:51
2F:→ soyoso: 要引用巨集工作表内的储存格、范围、列或栏时要以.range 09/21 00:51
3F:→ soyoso: 内文巨集来看,第二列range.autofilter,筛选第三栏,筛选 09/21 00:51
4F:→ soyoso: 值.range("c" & lLoop) 09/21 00:51
5F:→ soyoso: 复制范围range.copy,於新增工作表wbnew,工作表内range. 09/21 00:51
6F:→ soyoso: pastespecial transpose为真 09/21 00:51
7F:→ soyoso: lLoop累加cnt减1,lLoop = lLoop + cnt -1 09/21 00:51
8F:→ soyoso: 另存workbook.saveas 09/21 00:51
10F:→ ktll: 不好意思,上图是您上次教我的部分,但我不知道该从哪改起.. 09/21 05:47
11F:→ ktll: 对VBA还不太熟悉... 09/21 05:48
12F:→ soyoso: 1、巨集内有range.copy(这方面保留),但不要destination 09/21 17:28
13F:→ soyoso: 以range.pastespecial transpose为真来转置 09/21 17:28
14F:→ soyoso: 2、1:1方面标题有二列就改为1:2 09/21 17:28
15F:→ soyoso: 3、回文写到lLoop累加cnt减1方面,巨集内也有写到(这方面 09/21 17:28
16F:→ soyoso: 也保留) 09/21 17:28
17F:→ soyoso: 4、巨集也有写到range.autofit和save方面(这方面也无不用 09/21 17:28
18F:→ soyoso: 动) 09/21 17:28
19F:→ soyoso: 就改或新增1,2所提的 09/21 17:28
21F:→ ktll: 不知道这样改是否正确? 但执行的时候出现图片上的错误 09/21 23:19
22F:→ soyoso: range.copy後面的下底线是要和下行语法做连接的,但range. 09/22 07:21
23F:→ soyoso: copy和range.pastespecial连接并非正确的语法,下底线要删 09/22 07:21
24F:→ soyoso: 除 09/22 07:21
25F:→ soyoso: 9/21 00:51 range如要引用巨集工作表内的储存格、范围、列 09/22 07:21
26F:→ soyoso: 或栏时要以.range,range.pastespecial是要贴到新增的活页 09/22 07:21
27F:→ soyoso: 簿内,所以是以新增活页簿变数vbnew.工作表.range. 09/22 07:21
28F:→ soyoso: pastespecial 09/22 07:21
29F:→ soyoso: range也没有指定储存格字串位址,range(..)括号内以储存格 09/22 07:21
30F:→ soyoso: 字串位址 09/22 07:21
31F:→ soyoso: 参数名称是transpose,巨集内少e 09/22 07:21
32F:→ ktll: 感谢教学~已经先用别的方式进行了 後续会再来研究 09/24 22:53