文档库 最新最全的文档下载
当前位置:文档库 › Smartbi 必备宏代码

Smartbi 必备宏代码

Smartbi 必备宏代码
Smartbi 必备宏代码

Smartbi必备宏代码

1、隐藏部分按钮

function main(spreadsheetReport) {

// spreadsheetReport.elem_btnRefresh.parentNode.style.display = "none"; //刷新

spreadsheetReport.elem_btnMyFavorite.parentNode.style.display = "none"; //收藏

//spreadsheetReport.elem_btnExport.parentNode.style.display = "none"; //导出

spreadsheetReport.elem_btnPrint.parentNode.style.display = "none"; //打印

if (spreadsheetReport.spreadsheetReportWriteBack && spreadsheetReport.spreadsheetReportWriteBack.elemSave) { spreadsheetReport.spreadsheetReportWriteBack.elemSave.parentNode.style.display = "none"; //保存

spreadsheetReport.spreadsheetReportWriteBack.elemInsertRow.parentNode.style.display = "none"; //添加行

spreadsheetReport.spreadsheetReportWriteBack.elemRemoveRow.parentNode.style.display = "none"; //删除行}

};

2、参数后面添加查询按钮

function main(spreadsheetReport) {

var lastCell = spreadsheetReport.paramPanelObj;

var paramTable = https://www.wendangku.net/doc/bd5579415.html,youtTable;

var i, cell, lastCell;

for (i = 0; i < paramTable.rows.length; i++) {

cell = paramTable.rows[i].insertCell(-1);

if (i == paramTable.rows.length - 1)

lastCell = cell;

}

if (!spreadsheetReport._newBtn) { // 不重复添加按钮

var input = document.createElement("INPUT");

input.type = "button";

// input.className = "button-buttonbar button-bgicon-save";

input.value = "查询";

input.title = "查询";

// input.accessKey = "N";

input.style.width = "100";

input.style.height = "20";

var newBtn = lastCell.appendChild(input);

spreadsheetReport.addListener(input, "click", doNewButtonClick,

spreadsheetReport);

spreadsheetReport._newBtn = newBtn;

}

function doNewButtonClick(e) {

spreadsheetReport.doRefresh();

spreadsheetReport.doRefresh(true); // 刷新报表

}

}

3、右侧资源随着左侧资源选择动态变化

示例说明

点击左边的不同选项,右边出来不同的表

如下图,点击左侧第一条记录"1、指标完成情况",则右侧资源变为目标报表1。

如下图,点击左侧第一条记录"2、现在车分布",则右侧资源变为目标报表2。

设置方法

创建左侧源资源和每条记录对应的目录资源。如上面例子"1、指标完成情况"对应【右侧目标报表1】和"2"对应【右侧目标报表2】

在门户定制中创建页面。布局选择2列_3_7开;分别拖拽左侧资源和需要默认显示的右侧资源到页面布局中,如下图:

在宏管理中打开上面步骤创建的页面,创建跳转规则向导。源资源选择【左侧源资源】,目标资源选择【右侧目标资源1】,并设置为覆盖指定位置上的资源,如下图。

打开步骤3生成的客户端模块。使用下面宏,替换生成的宏代码

1 2 3 4 function main(simpleReport, simpleReportContext) {

// 针对第一列第二行的单元格增加超级链接,根据需要设置 simpleReport.addCellLink(1, 0, me);

}

替换生成宏的下面部分

1 function main(simpleReport, simpleReportContext) { simpleReport.addColumnLinkByName("目录",me);//字段别名:目录} 重复步骤3、4分别实现其它的记录跳转到不同的报表。需要根据需要调整跳转宏和宏代码。

1 2 3 4 function main(simpleReport, simpleReportContext) {

// 针对第一列第三行的单元格增加超级链接,根据需要设置 simpleReport.addCellLink(2, 0, me);

}

4、添加提交按钮

function main(spreadsheetReport) {

spreadsheetReport.elem_btnRefresh.parentNode.style.display = "none"; //刷新

spreadsheetReport.elem_btnMyFavorite.parentNode.style.display = "none"; //收藏

spreadsheetReport.elem_btnExport.parentNode.style.display = "none"; //导出

spreadsheetReport.elem_btnPrint.parentNode.style.display = "none"; //打印

if (spreadsheetReport.spreadsheetReportWriteBack && spreadsheetReport.spreadsheetReportWriteBack.elemSave) { spreadsheetReport.spreadsheetReportWriteBack.elemSave.parentNode.style.display = "none"; //保存

spreadsheetReport.spreadsheetReportWriteBack.elemInsertRow.parentNode.style.display = "none"; //添加行

spreadsheetReport.spreadsheetReportWriteBack.elemRemoveRow.parentNode.style.display = "none"; //删除行}

var td = spreadsheetReport.getCell(4, 2);

//添加按钮

td.innerHTML = "";

td.firstChild.onclick = function() {

spreadsheetReport.spreadsheetReportWriteBack.doSaveClick();

}

};

Excel宏功能简单应用介绍

OFFice几个出色招数 Word独门绝招: 一、输入三个“=”,回车,得到一条双直线; 二、输入三个“~”,回车,得到一条波浪线; 三、输入三个“*”或“-”或“#”,回车,惊喜多多; Powerpoint出色过招: Q:如果已经word写好一份报告,并且要根据报告的内容做幻灯片,怎么直接把 word文档的标题发送到powerPoint? A:打开word文档,从“文件”菜单单击“发送”命令,再选择发送到ppt。ppt 会自动启动,并且根据每个word文档的一级标题建立一张相同标题的幻灯片,其下的二级标题也会被自动添加到幻灯片。 Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。Microsoft Office的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到Sheet1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功

excel合并工作簿和工作表的代码

把多个工作簿合并到一个工作簿作为新工作簿的一张表(宏代码) Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xls") AWbName = https://www.wendangku.net/doc/bd5579415.html, Num = 0 Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("A65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("A65536").End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & https://www.wendangku.net/doc/bd5579415.html, Wb.Close False End With End If MyName = Dir Loop Range("A1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End Sub 具体操作:在工作簿目录下新建一工作簿,工具---宏----编辑器----插入—模块---粘贴代码==运行 excel如何将一个工作簿中的多个工作表合并到一张工作表上 打开你的工作簿新建一个工作表在这个工作表的标签上右键查看代码你把下面的代码复制到里边去,然后上面有个运行运行子程序就可以了,代码如下,如果出现问题你可以尝试工具宏宏安全性里把那个降低为中或者低再试试 Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False

EXCEL多个相同的表格合成一个表格

EXCEL多个相同的表格合成一个表格 先将30多个表合并到一个工作薄中,再将工作薄中的30多个表合并到一个工作表中,具体如下:1.新建一个excel文件并打开,按ALT+F11-->插入-->模块,将下面的代码复制到模块中: Sub merge() Dim FileSet Dim i As Integer Dim filename On Error GoTo 0 Application.ScreenUpdating = False FileSet = Application.GetOpenFilename(FileFilter:="Excel 2003(*.xls),*.xls,Excel 2007-2013(*.xls x),*.xlsx", MultiSelect:=True, Title:="选择需要合并的文件") If TypeName(FileSet) = "Boolean" Then GoTo ExitSub End If For Each filename In FileSet Workbooks.Open filename Sheets().Move after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) Next ExitSub: Application.ScreenUpdating = True End Sub 点击运行,类似于播放的那个按钮,或者点击菜单上的运行下的运行子过程,将需要合并的表全部选上,(最好是将需要合并的工作表放到一个文件中,便于选择)确定。 2.再一次的插入模块,左边会显示插入模块2,同样将下面代码复制到模块2中,如下: Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> https://www.wendangku.net/doc/bd5579415.html, Then X = Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True

excel多个文件合并代码

然后我们把下面这些宏计算的代码复制进去,然后找到工具栏上面的“运行”下的“运行子过程/用户窗体”,代码如下,如图所示: Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, AWbName Dim Wb As Workbook, WbN As String Dim G As Long Dim Num As Long Dim BOX As String Application.ScreenUpdating = False MyPath = ActiveWorkbook.Path MyName = Dir(MyPath & "\" & "*.xls") AWbName = https://www.wendangku.net/doc/bd5579415.html, Num = 0 Do While MyName <> "" If MyName <> AWbName Then Set Wb = Workbooks.Open(MyPath & "\" & MyName) Num = Num + 1 With Workbooks(1).ActiveSheet .Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4) For G = 1 To Sheets.Count Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536") .End(xlUp).Row + 1, 1) Next WbN = WbN & Chr(13) & https://www.wendangku.net/doc/bd5579415.html,

Wb.Close False End With End If MyName = Dir Loop Range("B1").Select Application.ScreenUpdating = True MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" End Sub

宏代码-合并工作表

宏代码—工作表合并 一、关于宏的EXCEL设置 1.设置快捷宏图标:文件—EXCEL选项-常用-在功能区显示“开发工具”选项卡打钩 2.删除宏:宏-选中相应的宏-删除

3.取消出现安全隐私警告:EXCEL选项-信任中心-信任中心设置-个人信息选项-将”保存时从文件属性中删除个人信息“前面的勾去掉

二、合并当前工作簿下的所有工作表 1.我们现在开始合并,首先要在最前页新建一个工作表。如图: 2.在新建的sheet表中“右键”,找到“查看代码”,然后看到宏计算界面。如图所示:

看到宏计算界面,我们就只需要把下面的代码复制进去,代码如下,效果如下: Sub 合并当前工作簿下的所有工作表() Application.ScreenUpdating = False For j = 1 To Sheets.Count If Sheets(j).Name <> https://www.wendangku.net/doc/bd5579415.html, Then X = Range("A65536").End(xlUp).Row + 1 Sheets(j).UsedRange.Copy Cells(X, 1) End If Next Range("B1").Select Application.ScreenUpdating = True MsgBox "当前工作簿下的全部工作表已经合并完毕!", vbInformation, "提示" End Sub 或者如下: Sub 合并() For I = 2 To Sheets.Count '如果工作表的第一行都一样,就把下 Rows("1" & 的1改成2就好了 Sheets(I).Rows("1" & ":" & Sheets(I).Range("A60000").End(xlUp).Row). _ Copy Range("A" & Range("A60000").End(xlUp).Row + 1) Next End Sub

自动合并xls的代码

自动合并同目录下的excel文件内容(附完整代码) 新建Excel文件: 合并.xls 在sheet1中增加一个按钮: 点击按钮即可开始合并: Sheet1显示文件数及每个文件的sheet数量 Sheet2即为所有文件sheet中的内容的集合: Sheet1的vba代码: Public Sub CommandButton1_Click() '点击开始合并 Application.ScreenUpdating = False Application.EnableEvents = False Application.Calculation = xlCalculationManual Dim myFile As String Dim myExtension As String Dim FldrPicker As FileDialog Dim myPath As String Dim fileno, sheetcount, a, b As Integer Sheets("Sheet1").Rows.Delete Sheets("Sheet2").Rows.Delete myPath = ThisWorkbook.path & "\" '当前路径 myFile = Dir(myPath & "*.xls*") '获取文件列表 i = 0 Do While myFile <> "" And i < 50 i = i + 1 Sheet1.Cells(i, 3) = myFile myFile = Dir Loop For j = 1 To i If Sheet1.Cells(j, 3).Text = "合并xls.xls" Then Sheet1.Rows(j).Select Selection.Delete End If

最新宏:把excel中多个单元格的内容合并到一个单元格

把excel 中多个单元格的内容合并到一个单元格 或许现在的你正为没有找到一个方便快捷的方法将excel 中多个单元格的内容合并到一个单元格里而烦恼,没关系,我下面介绍的这个方法可以轻松为你解决烦恼。 用excel 自带的功能显然是没办法轻松解决这个问题的,但是运 用excel 提供的VBA 宏编程功能,即可迎刃而解. 闲话少说,马上开始。 一、首先新建或打开一个exceI文档,然后按“ ALT+F11 ”组合键, 打开VBA 窗口,按顶部菜单“插入-模块” 插入一个模块 (模块名称可以自己修改) ,把下面代码复制进去,如图-1 所示。 (注意:此功能只对单个文档有效,如果在其他的exceI 文档使用此法要从新输入下面代码才可以使用) : Sub 合并行单元格内容() AppIication.DispIayAIerts = FaIse Set tt = SeIection ' 赋值选定区域 a = tt.Rows.Count ' 选区行数x = tt.Row ' 第一个格行号y = tt.CoIumn ' 列号s = tt.CoIumns.Count - 1 ' 列数减1 For j = x To x + a - 1 For i = 1 To s CeIIs(j, y) = CeIIs(j, y) & CeIIs(j, y + i) Next Range(CeIIs(j, y), CeIIs(j, y + s)).Merge ' 合并 Next AppIication.DispIayAIerts = True End Sub Sub 合并列单元格内容() Illi Set tt = Selection x = tt.Row '第一个格行号

excel表格合并内容

竭诚为您提供优质文档/双击可除excel表格合并内容 篇一:excel如何快速把多个工作表合并到一个excel 表 excel如何快速把多个工作表合并到一个excel表 有这么一种情况,就是我们有很多张excel,而且excel 表里面的公式基本一样,我们就想快速的把这些excel合并在一起,意思在合并在一个excel页面,这样可以方便我们分析和统计,那么excel如何快速把多个工作表合并到一个excel表?下面为大家介绍这种方法,希望能帮助到大家。 工具/原料 excel 操作步骤: 1、原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据。 2、在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。 3、按alt+F11进入Vba代码编辑和调试界面。

4、根据下图提示,插入一个模块。 5、将下述代码粘贴到模块空白处: 篇二:用excel公式把单元格的内容合并起来 用excel公式把单元格的内容合并起来 如果需要把a1:a2的内容合并起来,可以用公式 =a1&a2 如果需要把a1:a3的内容合并起来,可以用公式 =a1&a2&a3 如果把a1:a100的单元格合并起来呢? =a1&a2&a3...公式太长了... 其实....不需要这样的。有一个神秘的函数可以帮我们解决:=phonetic(a1:a100) 利用phonetic函数就可以把前100行的内容连接到一起了。 如果,你在每个字符中间加个分隔号,如",",那就增加一个辅助列,在输助列中输入分隔符","。如下图所示。 篇三:如何快速把多个excel表合并成一个excel表 如何快速把多个excel表合并成一个excel表

(完整版)VBA方法_-_将多个excel文件合并到一个excel的多个sheet中

VBA方法 - 将多个excel文件合并到一个excel的多个sheet中由上级的要求,同事需要将以前做的所有excel文件(手机话费清单表),都合并到一个excel中,并且每个excel文件为一个sheet。她开始是用复制粘贴的方法,很麻烦。所有她就问我,有没有什么方法可以快点做完。 网上搜索,方法如下: 1. 将需合并的excel文件放在同一个文件中,并这个文件中新建一个excel 文件 2. 打开新建的excel文件,按alt + f11建,打开宏,新建一个模组,将下面的代码拷贝进去,并保存。 Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then '定义单个文件变量 Dim vrtSelectedItem As Variant '定义循环变量 Dim i As Integer i = 1 '开始文件检索 For Each vrtSelectedItem In .SelectedItems '打开被合并工作簿 Dim tempwb As Workbook Set tempwb = Workbooks.Open(vrtSelectedItem) '复制工作表 tempwb.Worksheets(1).Copy Before:=newwb.Worksheets(i) '把新工作簿的工作表名字改成被复制工作簿文件名,这儿应用于xls文件,即Excel97-2003的文件,如果是Excel2007,需要改成xlsx newwb.Worksheets(i).Name = VBA.Replace(https://www.wendangku.net/doc/bd5579415.html,, ".xls", "") '关闭被合并工作簿 tempwb.Close SaveChanges:=False i = i + 1 Next vrtSelectedItem End If End With Set fd = Nothing End Sub 3. 运行程序,弹出对话框,批量选择要合并的excel名,确定即可。注意:完成后,所需表格为book1,而不是那个新建excel。

一些实用的excel宏

Excel宏教程 一、选中单个单元格 Range(“<单元格地址>“).Select 例:Range("C9").Select …选中“C9”单元格 二、选中多个单元格 Range(“<单元格地址>:<单元格地址>[,<单元格地址>……]”).Select 例:Range(“A1:B2”).Select…选中“A1”、“A2”、“B1”、“B2”四个连续的单元格Range(“12:12”).Select…选中第12行 Range(“B:B”).Select…选中第B列 Range(“A1:A2,B7,2:2”).Select…选中“A1”、“A2”、“B7”五个不连续的单元格和第二行Cells.Select …选中当前SHEET中的所有单元格 Rows("<行地址>:<行地址>").Select …选中整行 Columns("<列地址>:<列地址>").Select …选中整列 例:Rows(“2:2”). Select…选中第2行 Rows(“2:5”). Select…选中2到5行 Columns("A:A").Select …选中A列 Columns("E:B").Select …选中E到B列

三、设置活动单元格 Range("<单元格地址>").Activate 注:设置活动单元格与选中单元格类似,不同之处就是 后者在选中指定的单元格之前会将在此前已被选中的单元格取消掉。 前者在设置之前不会取消已选中的单元格, 如果此时操作的单元格不是被选中的单元格,这时他实现的功能与选一个单元格相同。 四、给活动的单元格赋值 ActiveCell.FormulaR1C1 = <值> 例:Range("A1").Select ActiveCell.FormulaR1C1 = "Name" Range("B1").Select ActiveCell.FormulaR1C1 = "Age" Range("A2:B3").Select Range("A2").Activate ActiveCell.FormulaR1C1 = " BUG" Range("B2").Activate ActiveCell.FormulaR1C1 = "12" Range("A3").Activate ActiveCell.FormulaR1C1 = "Archer" Range("B3").Activate ActiveCell.FormulaR1C1 = "37"

excel多个文件表合并(2种方法)

新建一个工作表,命名后保存到和与合并的N个文件同一个文件文件夹,按 alt + f11,双击工程资源管理器里面的sheet1(sheet1),在右侧的代码区粘贴如下代码。运行。等候一会就OK了。 宏:多个文件表合到一个文件表的多个SHEET中(sheet的名字按原文件表中sheet的名字) Sub CombineWorkbooks() Dim FilesToOpen, ft Dim x As Integer Application.ScreenUpdating = False On Error GoTo errhandler FilesToOpen = Application.GetOpenFilename _ (FileFilter:="Micrsofe Excel文件(*.xls), *.xls", _ MultiSelect:=True, Title:="要合并的文件") If TypeName(FilesToOpen) = "boolean" Then MsgBox "没有选定文件" 'GoTo errhandler End If x = 1 While x <= UBound(FilesToOpen) Set wk = Workbooks.Open(Filename:=FilesToOpen(x)) wk.Sheets().Move after:=ThisWorkbook.Sheets _ (ThisWorkbook.Sheets.Count) x = x + 1 Wend MsgBox "合并成功完成!" errhandler: 'MsgBox Err.Description 'Resume errhandler End Sub 宏:多个文件表合到一个文件表的多个SHEET中(只取第一个sheet,sheet的名字按原文件的名字) Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) '新建一个工作簿 Dim newwb As Workbook Set newwb = Workbooks.Add With fd If .Show = -1 Then '定义单个文件变量 Dim vrtSelectedItem As Variant

Excel宏功能简单应用介绍

Excel宏功能简单应用介绍 所谓宏,就是一组指令集,通过执行类似批处理的一组命令,来完成某种功能。MicrosoftOffice的组件都可以支持宏(Macro)的操作,而Office的宏是指使用VB Script指令集(VB编程语言的子集,可以使用VB的常用语句)编写的针对Office组件的小程序。利用宏,我们可以完成很多程序原本并不支持的特殊应用,比如完成某种特殊的数据计算,或者文档的特殊格式排版等等。下面,就让我们举个简单的例子,看看宏在Excel中如何应用。 有这样一个Excel表格,工作表Sheet1中的第2行的B列开始至D列的连续单元格中是一组共3个数据,第A列的第3行开始至第6行的连续单元格中是一组共4个日期,要编写一段宏来完成这样的工作:将Sheet1第2行的数据由左至右依次纵向复制到Sheet2的B列(从B2开始)中,然后将这组复制完的3个数据所在行的A列都填入Sheet1的A3单元格里面的日期,完成后重复之前的操作,将Sheet1第2行的数据再次复制到Sheet2的B列,这次是从上次复制的B列数据下面的空白单元格,也就是B5开始,然后再在这次复制的3个数据的左侧A列填入Sheet1的A4单元格的日期,这样反复循环,直到She et1的A列的所有日期都出现在了Sheet2的A列里面,也就是Sheet1的第2行数据在 Sheet2的B列里面被复制了4次为止。 编写宏只要有一点点简单的VB编程知识就可以了,并不一定需要很高深的编程技巧,很多时候我们需要的只是一些重复的操作,我们可以通过宏的录制功能来录制一次需要的操作过程,然后再对已经录制的宏进行简单的修改,就能得到所需要的宏了。 对于上面这个事例,实际上只是简单的复制操作,所以甚至连录制的工作都可以省掉了。因为所需要的操作是一个循环的过程,所以我们可以使用一个循环语句来编写程序,这样只要写出一个完成的复制过程,一次循环就可以达到我们的目的了。循环判断的依据就是是否Sheet1的A列所有日期都复制过了,因为数据都是连续排列的,艘以我们可以把Sheet1的A列某个单元格是否有数据作为进入循环的条件,依次复制日期,直到A7这个没有数据的空单元格,循环结束,我们的工作也就完成了。至于循环里面的内容,我们同样再嵌套一个循环,只不过这次是判断第2行的数据是否全都复制完成了,在这个循环里面自然就是单元格数据和日期的复制了。 Sub Macro1() Dim st1y Dim st2y Dim st1x

excel合并多个工作簿中的工作表

excel合并多个工作簿中的工作表 在同一文件夹中有多个工作簿,其中有一个用于汇总的工作簿,要求将除该汇总工作簿外的其它工作簿中的指定工作表的数据汇总到该汇总工作簿中。(这个最好用)代码如下: Sub UnionWorksheets() Application.ScreenUpdating = False Dim lj As String Dim dirname As String Dim nm As String lj = ActiveWorkbook.Path nm = https://www.wendangku.net/doc/bd5579415.html, dirname = Dir(lj & "\*.xls*") Cells.Clear Do While dirname <> "" If dirname <> nm Then Workbooks.Open Filename:=lj & "\" & dirname Workbooks(nm).Activate '复制新打开工作簿的第一个工作表的已用区域到当前工作表 Workbooks(dirname).Sheets(1).UsedRange.Copy _ Range("A65536").End(xlUp).Offset(1, 0) 'sheets(1) 中的1为工作表顺序号 Workbooks(dirname).Close False End If dirname = Dir Loop End Sub

可以将指定目录下的excel工作簿中的指定表!汇总到一起! 例如!将book1.xlsx中的sheet1。 book2.xlsx中的sheet1。 book3.xlsx中的sheet1。 book4.xlsx中的sheet1。 ~~~~~~~~~~ 合并到book汇总.xlsx中的sheet1中 如果你的建议是复制~~粘贴~就算了!这个我知道如何使用! 如果提供宏的朋友可以加入详细说明,以便我学习,我将酌情加分! 谢谢! 最佳答案 Sub Macro1() Dim lj$, dirname$, nm$, wb As Workbook, sh As Worksheet, a, b Set wb = ThisWorkbook a = Array(0, 2, 1) b = Array(0, -1, 0) lj = ThisWorkbook.Path nm = https://www.wendangku.net/doc/bd5579415.html, dirname = Dir(lj & "\*.xls") Application.ScreenUpdating = False For Each sh In Sheets https://www.wendangku.net/doc/bd5579415.html,edRange.Offset(3, 0).Clear Next Do While dirname <> "" If dirname <> nm Then With GetObject(lj & "\" & dirname) For i = 1 To 2 If IsSheetEmpty = IsEmpty(.Sheets(i).UsedRange) Then _ .Sheets(i).UsedRange.Offset(3, 0).Copy wb.Sheets(.Sheets(i).Name).Cells(65536, a(i)).End(xlUp).Offset(1, b(i)) Next .Close False End With End If dirname = Dir Loop Dim UserSheet As Worksheet Set UserSheet = ActiveSheet

办公高手EXCEL常用宏命令

办公高手.EXCEL常用宏命令 1 设置打开时弹出对话框的命令举例: Sub AUTO_OPEN() "输入打开工作表时要运行的代码或宏" End Bub 2 设置关闭时弹出对话框的命令举例: Sub AUTO_CLOSE() "输入关闭工作表时要运行的代码或宏" End Bub 3 设置提示框举例: MsgBox prompt:="温馨提示:您要打开的工作表有保护!", Buttons:=vbOKOnly, Title:="谷子提示 " i = MsgBox("系统提供不同服务,是否浏览资费信息?", vbYesNoCancel, "谷子提示:") If i = vbYes Then MsgBox "资费信息:********", , "谷子提示" Else "输入要运行的代码" End If 4、提示框内容过长,换行vbNewLine: MsgBox "您本次访问系统的时间是:" & Date & " " & Time & vbNewLine & "系统离到期日还剩余:" _ & DateDiff("d", Now, "2010-12-31") & " 天!" & vbNewLine & "是否查阅到期日说明?", vbYesNoCancel, "时间和到期日提示:" 5 提示提示系统的日期和时间: MsgBox "系统当前日期和时间:" & Date & " " & Time, , "时间提示" DateDiff("d", Now, "2010-10-31") & " 天!" ‘提示离指定日期的剩余天数 6 系统时间判断命令: Sub 判断时间测试() If Date > "2010-05-20" Then MsgBox "对不起,测试期间已经结束", , "谷子提示" Else Sheets("首页").Select '或其他命令 End If End Sub 7 禁止保存或另存的命令: Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) MsgBox ("禁止保存") Cancel = True '或thisworkbook.saved=true End Sub 8 保护工作表与撤销保护 Sheet2.Protect Password:="123456", DrawingObjects:=True, Contents:=True, Scenarios:=True '保护工作表SHEET2 Sheet2.Unprotect ("123456") '解除保 护 9 保护工作簿与撤销保护 ActiveWorkbook.Protect Structure:=True, Windows:=False, Password:="123" ActiveWorkbook.Unprotect Password:="123"

宏:把excel中多个单元格的内容合并到一个单元格

把excel中多个单元格的内容合并到一个单元格 或许现在的你正为没有找到一个方便快捷的方法将excel中多个单元格的内容合并到一个单元格里而烦恼,没关系,我下面介绍的这个方法可以轻松为你解决烦恼。 用excel自带的功能显然是没办法轻松解决这个问题的,但是运用excel提供的VBA宏编程功能,即可迎刃而解. 闲话少说,马上开始。 一、首先新建或打开一个excel文档,然后按“AL T+F11”组合键, 打开VBA窗口,按顶部菜单“插入-模块”插入一个模块(模块名称可以自己修改),把下面代码复制进去,如图-1所示。 (注意:此功能只对单个文档有效,如果在其他的excel文档使用此法要从新输入下面代码才可以使用): Sub 合并行单元格内容() Application.DisplayAlerts = False Set tt = Selection '赋值选定区域 a = tt.Rows.Count '选区行数 x = tt.Row '第一个格行号 y = tt.Column '列号 s = tt.Columns.Count - 1 '列数减1 For j = x To x + a - 1 For i = 1 To s Cells(j, y) = Cells(j, y) & Cells(j, y + i) Next Range(Cells(j, y), Cells(j, y + s)).Merge '合并 Next Application.DisplayAlerts = True End Sub Sub 合并列单元格内容() t = ""

Set tt = Selection x = tt.Row '第一个格行号 y = tt.Column '列号 For Each a In Selection t = t & a.V alue a.V alue = "" Next Cells(x, y) = t Selection.Merge Selection.WrapText = True '自动换行 End Sub 图-1 二、复制好后,关闭这个窗口,回到EXCEL,选择你要合并内容的单 元格,再按AIT+F8调用程序,点执行即可!过程如下面图示:

VBA合并多个EXCEL表代码(推荐文档)

VBA合并多个EXCEL表代码 1、以下是合并多个EXCEL表为同一个EXCEL表 Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="MicroSoft Excel文件(*.xls),*.xls", _ MultiSelect:=True, Title:="要合并的文件") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "没有选中文件" GoTo ExitHandler End If x = 1 While x <= UBound(FilesToOpen) Workbooks.Open Filename:=FilesToOpen(x) Sheets().Move after:=ThisWorkbook.Sheets _ (ThisWorkbook.Sheets.Count) x = x + 1 Wend ExitHandler: Application.ScreenUpdating = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub 2、以下是合并多个EXCEL表单为同一个表单

Sub test() https://www.wendangku.net/doc/bd5579415.html,edRange.ClearContents Dim countalla, countthis As Integer countallb = 0 countthis = 0 For i = 1 To Sheets.Count If Sheets(i).Name <> https://www.wendangku.net/doc/bd5579415.html, Then countthis = Sheets(i).UsedRange.Rows.Count Sheets(i).UsedRange.Copy [a65536].End(xlUp).Offset(1, 1) countallb = countallb + countthis ActiveSheet.Range("a" & countallb, Range("a" & countallb).End(xlUp).Offset(1, 0)).Value = Sheets(i).Name End If Next i End Sub 3、将多个EXCEL表合并成一个表单 Sub CombineWorkbooks() Dim FilesToOpen Dim x As Integer Dim countalla, countthis As Integer countallb = 0 countthis = 0 On Error GoTo ErrHandler Application.ScreenUpdating = False FilesToOpen = Application.GetOpenFilename _ (FileFilter:="MicroSoft Excel文件(*.xls),*.xls", _ MultiSelect:=True, Title:="要合并的文件") If TypeName(FilesToOpen) = "Boolean" Then MsgBox "没有选中文件" GoTo ExitHandler End If

EXCEL如何使用宏

在介绍学习VBA之前,应该花几分钟录制一个宏。 新术语:“宏”,指一系列EXCEL能够执行的VBA语句。 以下将要录制的宏非常简单,只是改变单元格颜色。请完成如下步骤: 1)打开新工作簿,确认其他工作簿已经关闭。 2)选择A1单元格。调出“常用”工具栏。 3)选择“工具”—“宏”—“录制新宏”。 4)输入“改变颜色”作为宏名替换默认宏名,单击确定,注意,此时状态栏中显示“录制”,特别是“停止录制”工具栏也显示出来。替换默认宏名主要是便于分别这些宏。 ★宏名最多可为255个字符,并且必须以字母开始。其中可用的字符包括:字母、数字和下划线。宏名中不允许出现空格。通常用下划线代表空格。 5)选择“格式”的“单元格”,选择“图案”选项中的红色,单击“确定”。 6)单击“停止录制”工具栏按钮,结束宏录制过程。 ※如果“停止录制”工具栏开始并未出现,请选择“工具”—“宏”—“停止录制”。 录制完一个宏后就可以执行它了。 1.4 执行宏 当执行一个宏时,EXCEL按照宏语句执行的情况就像VBA代码在对EXCEL进行“遥控”。但VBA的“遥控”不仅能使操作变得简便,还能使你获得一些使用EXCEL标准命令所无法实现的功能。而且,一旦熟悉了EXCEL的“遥控”,你都会奇怪自己在没有这些“遥控”的情况下,到底是怎么熬过来的。要执行刚才录制的宏,可以按以下步骤进行: 1)选择任何一个单元格,比如A3。 2)选择“工具”—“宏”—“宏”,显示“宏”对话框。 3)选择“改变颜色”,选择“执行”,则A3单元格的颜色变为红色。试着选择其它单元格和几个单元格组成的区域,然后再执行宏,以便加深印象。 1.5 查看录制的代码 到底是什么在控制EXCEL的运行呢?你可能有些疑惑.好,让我们看看VBA的语句吧. 1)选择“工具”—“宏”—“宏”,显示“宏”对话框。 2)单击列表中的“改变颜色”,选择“编辑”按钮。 此时,会打开VBA的编辑器窗口(VBE)。关于该编辑器,以后再详细说明,先将注意力集中到显示的代码上。代码如下:(日期和姓名会有不同) Sub 改变颜色() ' ' 改变颜色Macro ' xw 记录的宏2000-6-10 ' ' With Selection.Interior

excel如何快速把多个工作表合并到一个excel表

excel如何快速把多个工作表合并到一个excel表 有这么一种情况,就是我们有很多张excel,而且excel表里面的公式基本一样,我们就想快速的把这些excel合并在一起,意思在合并在一个excel页面,这样可以方便我们分析和统计,那么excel如何快速把多个工作表合并到一个excel表下面为大家介绍这种方法,希望能帮助到大家。 工具/原料 Excel 操作步骤: 1、原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据。 2、在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表”。 3、按Alt+F11进入VBA代码编辑和调试界面。 4、根据下图提示,插入一个模块。

5、将下述代码粘贴到模块空白处: 代码如下:

6、在“首页”工作表中按下图示范插入一个窗体控件并指定宏为插入的代码名称。 7、点击“首页”工作表中插入的按钮,根据提示,浏览到原始数据工作簿。 8、下一步,用鼠标选择要合并的数据范围。 注意:每个工作表数据可能不一样,比如说有的是10行数据,有的是30行数据。在这里我们可以用鼠标选择任意工作表的一个较大范围,比如说A1:D100,保证比最多行数的工作表数据还多就可以,一会再删除空行。

9、点击确定按钮,待代码运行完毕后,所有的数据就都合并到了“合并汇总表”中。 注意: 1)A列的文本说明右侧的数据来自于原始数据表的哪个工作表; 2)数据之间会有一些空行,下面通过筛选删除。 10、选中全部数据区域,执行自动筛选。然后选择其中一个字段,选择“空白”和标题内容。 11、然后将筛选出来的无用行鼠标右键删除,再删除A列整列即可,完成效果如下图:END

相关文档
相关文档 最新文档