Excel VBA与C# VSTO实用代码实例

版权申诉
5星 · 超过95%的资源 1 下载量 177 浏览量 更新于2024-09-08 1 收藏 23KB DOCX 举报
"Excel-VBA常用代码VSTO文档提供了一系列在Excel VBA和C#环境下与Microsoft Office应用程序交互的实用代码示例。该文档涵盖了如何通过VSTO (Visual Studio Tools for Office) 进行开发,结合C#编程语言实现对工作表、单元格、范围和特定区域的操作。 1. 使用`Range`属性:`Range`对象允许你指定一个或多个连续或不连续的单元格范围,如`this.Range["A3:F6,B1:C5"].Select();`这一段代码用于选择A3到F6和B1到C5这两个区域。 2. `Cells`属性:循环遍历并设置单元格值,例如`for(int icell=1; icell<=100; icell++) { this.Application.Worksheets[2].Cells[icell, 1].Value = icell; }`,这段代码将按顺序填充第2个工作表中第1列的前100个单元格。 3. 快捷记号:尽管没有具体给出,但通常`#N/A`可能表示一个未定义或者不存在的引用,VBA中会用来表示某个值不存在或无法计算。 4. `Offset`和`Resize`属性:`Offset`用于移动或扩展选定范围,`this.Range["A1:A3"].Offset[3,3].Select();`会选择A1区域向下偏移3行3列的位置。而`Resize`则调整范围的大小,如`this.Range["A1"].Resize[3,3].Select();`会将A1区域扩展为3行3列。 5. `Union`属性:`Union`用于合并两个或多个范围,`this.Application.Union(this.Range["A1:D4"],this.Range["E5:H8"]).Select();`将选择A1到D4和E5到H8两个区域的所有单元格。 6. `UsedRange`属性:`UsedRange`表示当前工作表中包含数据的范围,`this.UsedRange.Select();`会选择整个有效数据区域。 7. `CurrentRegion`属性:`CurrentRegion`识别出工作表中具有特定格式(如表格)的部分,如`this.Range["A5"].CurrentRegion.Select();`会选择A5单元格处的表格区域。 8. `Select`方法和`Activate`方法:`Select`方法用于选择一个范围或工作表,而`Activate`方法则使工作表成为活动工作表,便于后续操作。2-1和2-2部分分别展示了这两种方法的使用,但需要注意的是,2-2中的`Activate`可能会导致只有A1被选中,因为`Range["A1:B10"]`并未改变工作表的激活状态。 9. `Goto`方法:`Goto`方法根据指定的单元格坐标或名称跳转到那个位置,如2-3所示,它会跳转到第3个工作表的A1:B10区域,同时使用`true`参数确保定位到绝对地址。 最后,文档还提到一种特殊情况,即通过`End`方法找到A列中最后一个非空单元格,并显示其地址、行号和文本内容。 这个文档提供了在Excel VBA和C#中操作Excel工作簿和工作表的实用技巧,适合于进行数据分析、自动化任务或自定义功能开发的开发者参考。"