excel vba编程,是在一段表格中插入几行后,插入行后的行整体下移,不破坏原有数据内容,

Range(Rows(3), Rows(5)).Insert shift:=xlDown
1)在当前单元格处插入一行  ; 可以增加循环语句来实现插入多行Range("A10").SelectSelection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove

2)在当前选择行处插入与选择行数相同的行数; 可更改行号来实现不同地方的插入。    Rows("10:11").Select    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove3)将range换成sheet1.cells(x,y) 或range(cells(x1,y1),cells(x2,y2)) 则可用程序来控制插入的位置

EXCEL中VBA或者函数怎么自动插入新数据?

我会用函数,VBA知道一点,请问:如何在图中当C列出现大于4.8和小于0.2的数值后,自动插入下一个ZD9。就是图中K294+920后面出现了-0.363

解释一下图中数据的计算方法:第一个 ZD8所在行9和行10的数据手动输入。A列中K294+880和E列3174.967G列3174.97在另一个工作表中排列好了的,可以直接调用。他 后面的C列数值叫前视,C11=$D$10-E11,C12=$D$10-E12,C13=$D$10-E13

ZD9后 面C14是根据上图中K294+920后面出现了-0.363(小于0.2),就随机一个0.2到0.5的数。如果上图中K294+920后面出现了 7.652(大于4.8)时,就随机一个4.2到4.8的数。E14=D10-C14    B15也是一个随机数,是根据上图中K294+920后面出现了-0.363(小于0.2),就随机一个4.2到4.8的数。如果上图中 K294+920后面出现了7.652(大于4.8)时,就随机一个0.2到0.5的数。D15=E14+B15

这个ZD9就完成了。下边的C16=$D$15-E16,C17=$D$15-E17,C18=$D$15-E18 就是这样,如果下边的C列又出现大于4.8或者小于0.2的数,又插入下个点ZD10,如此循环。

如果没有说明白,请联系QQ313616791或者电话18048795658

那个7.652是假设的。那么我告诉你到底怎么做:我要这样几个过程,(1.)当C列出现小于0.2或者大于4.8的数值后,插入两行,这个叫转点。(2)这两行里的数据符合这样的要求,ZD9那个9=上一个ZD8后面的8+1,是下一个转点的意思。 显然在下一个就应该是ZD10,ZD11,ZD12 ,ZD13.......        这样吧,转点ZD就从ZD1开始。
根据你图一数据及要求写了一段代码,看是不是满足要求:1、运行前请备份原始数据表,切记!2、为了便于检查,会自动在相关单元格写入公式。3、代码直接放到图一的“水准测量记录”表的代码页中,如果写在模块中,请自行修改代码。代码运行后会生成图二的样子,只能运行一次,再次运行时必须保证数据格式是图一(原表)的格式。由于有几个数据是随机数,多次测试结果会不同。4、默认图一E列是已知数据。

Sub 插入数据()Dim i As LongDim k As LongDim n As Longn = 8k = 10With ActiveSheetFor i = 11 To 65536If .Cells(k, 4).Value - .Cells(i, 5).Value >= 0.2 And .Cells(k, 4).Value - .Cells(i, 5).Value <= 4.8 Then.Range("C" & i) = "=$D$" & k & "-E" & iElseIf .Cells(k, 4).Value - .Cells(i, 5).Value >= 4.8 Then.Rows(i).Insert Shift:=xlDown.Range("A" & i) = "ZD" & n + 1.Range("C" & i) = "=Round(rand() * (4.8 - 4.2) + 4.2, 3)".Range("E" & i) = "=$D$" & k & "-C" & i.Rows(i + 1).Insert Shift:=xlDown.Range("B" & i + 1) = "=Round(rand() * (0.5 - 0.2) + 0.2, 3)".Range("D" & i + 1) = "=E" & i & "+B" & i + 1ElseIf .Cells(k, 4).Value - .Cells(i, 5).Value <= 0.2 Then.Rows(i).Insert Shift:=xlDown.Range("A" & i) = "ZD" & n + 1.Range("C" & i) = "=Round(rand() * (0.5 - 0.2) + 0.2, 3)".Range("E" & i) = "=$D$" & k & "-C" & i.Rows(i + 1).Insert Shift:=xlDown.Range("B" & i + 1) = "=Round(rand() * (4.8 - 4.2) + 4.2, 3)".Range("D" & i + 1) = "=E" & i & "+B" & i + 1End Ifk = i + 1n = n + 1i = i + 1End IfIf .Range("E" & i + 1) = "" Then Exit ForNext iEnd WithEnd Sub
这就好理解了,我重复一遍,你确认一下。当c列中出现小于0.2或者大于4.8的数值后,在该行的上方插入两个空行,并且在A列写入ZD+编号。其他都留空白。

Sub InsertRow()Dim LastRow As Long, i As Long, j As LongApplication.CutCopyMode = FalseLastRow = Cells(Cells.Rows.Count, 3).End(3).Rowi = 1Do    If IsNumeric(Cells(i, 3)) And Len(Cells(i, 3)) > 0 Then        If Cells(i, 3) < 0.2 Or Cells(i, 3) > 4.8 Then            Rows(i & ":" & i + 1).Insert shift:=xlDown            j = j + 1            Cells(i, 1) = "ZD" & j            i = i + 2            LastRow = Cells(Cells.Rows.Count, 3).End(3).Row        End If    End If    i = i + 1Loop Until i > LastRowEnd Sub
				
时间: 2024-08-26 04:44:24

excel vba编程,是在一段表格中插入几行后,插入行后的行整体下移,不破坏原有数据内容,的相关文章

Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿.下面是关键代码: '====================================================================== '各班名单保存为单个xls文件 ActiveSheet.Move ChDir myPath '忽略对话框,覆盖保存 Application.DisplayAlerts = False '班级名称增加"考生号处理"vba模块

【Excel&amp;VBA】VBA中常用代码

1:Excel表中数据的行列数 Sheets(1).UsedRange.Rows.Count Sheets(1).UsedRange.Columns.Count 或者, Sheets(1).Range("A65536").End(xlUp).Row Sheets(1).Range("A65536").End(xlUp).Column 需要说明的一点是,之前在给朋友Mac(苹果系统)上的Excel VBA编程时,用上面的代码会报错,只能采用下面那种写法: 2:拷贝 行

利用java反射机制实现读取excel表格中的数据

如果直接把excel表格中的数据导入数据库,首先应该将excel中的数据读取出来. 为了实现代码重用,所以使用了Object,而最终的结果是要获取一个list如List<User>.List<Book>等,所以需要使用泛型机制去实现.下面会给出代码,可能会稍微复杂一点,但注释很清晰,希望大家耐心阅读. 在上代码之前简单说一下思路: 1.excel表格必须有表头,且表头中各列的值要与实体类的属性相同: 2.先读取表头信息,然后获取表头列数,接着确定需要使用的set方法的名称,并存到数

2.Excel VBA术语

Excel VBA名词术语 在这一章中,让我们了解常用的Excel VBA术语.这些术语将在进一步模块学习中使用,因此理解它们是非常关键的. 模块 1.模块是其中代码被写入的区域.这是一个新的工作簿,因此不会有任何模块. 2.要插入导航模块Insert >> Module.一旦模块被插入“module1”创建.在该模块中,我们可以编写VBA代码和代码编写过程.程序/Sub过程是一系列的VBA语句指示怎么做. 过程 过程组被作为一个整体,指示Excel中如何执行特定任务执行的语句.执行的任务可以

Excel中的VBA编程

目的:有时我们需要对Excel文件中大量的数据进行整理,此时如果使用手动整理会非常繁琐而且容易出错.而如果采用VBA语言,在Excel中根据需求编写一段简单的代码就能自动完成大量数据的整理工作. 1.以Excel 2007为例,如果要进行VBA编程,需要启用"开发工具" 选项.在Excel 选项对话框中勾选[在功能区显示"开发工具"选项卡]复选框. 在开发工具选项中点击"查看代码",打开Microsoft Visual Basic界面. 2.在M

Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多&gt;

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

VBA取得EXCEL表格中的行数和列数

VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上查找时,总是给了很多无用的答案,往往找不到想要的结果.笔者也是每次使用时,临时查找总是很头疼.偶然发现一篇博客,上面详细记录了不同的方法,笔者测试了几种发现真的很好用.本着分享万岁的精神,将博客内容共享出来.希望对大家有所帮助. 来源:http://www.okexcel.com.cn/bbs/vi

excel vba 数据分析

(Visual Basic Application) VBA(Visual Basic for Application)是Microsoft Office系列软件的内置编程语言,其语法结构与Visual Basic编程语言互相兼容,采用的是面向对象的编程机制和可视化的编程环境. 第一节 标识符 一.定义 标识符是一种标识变量.常量.过程.函数.类等语言构成单位的符号,利用它可以完成对变量.常量.过程.函数.类等的引用. 二.命名规则 1)  字母打头,由字母.数字和下划线组成,如 A987b_2