⑴ excel中 用宏 插入N行并填充序列
Option Explicit
Sub 宏1()
Dim a(), d(1 To 6) As Object, e(), h(), i&, j&, n&, st As Worksheet
For Each st In Sheets '对所有工作表
'切换表,并获取内容到数组中
st.Activate
'参数区处理:建立字典,1-6表示H-M的列号
a = st.Range("h1:m1")
For i = 1 To 6
If Not d(i) Is Nothing Then
d(i).RemoveAll
Else
Set d(i) = CreateObject("Scripting.Dictionary")
End If
a(1, i) = Trim(a(1, i))
For j = 1 To Len(a(1, i))
d(i)(Mid(a(1, i), j, 1)) = 1
Next j
Next i
'数据区处理
n = st.Cells(st.Rows.Count, "e").End(xlUp).Row 'E列最后一行行号
If n >= 9 Then '跳过不足9行的表
e = st.Range(st.Cells(9, "e"), st.Cells(n, "g")) 'E:G - 源数组
h = st.Range(st.Cells(9, "h"), st.Cells(n, "m")) 'H:M - 结果数组
For i = 1 To UBound(e)
For j = 1 To 3
e(i, j) = Trim(e(i, j))
Next j
If e(i, 1) <> "" And e(i, 2) <> "" And e(i, 3) <> "" Then
For j = 1 To 6
If d(j)(e(i, 1)) + d(j)(e(i, 2)) + d(j)(e(i, 3)) >= 2 Then
h(i, j) = 2
Else
h(i, j) = Empty
End If
Next j
End If
Next i
'数组回写表
With st.Range(st.Cells(9, "h"), st.Cells(n, "m"))
.Select
.Value = h
End With
End If
Next st
End Sub
⑵ Excel使用宏批量向单元格插入指定信息
SubTest()
DimstrAsString,strPartAsString,iAsLong,NAsLong
str="='C:UsersDELLDesktopexcel批量输入[bkName.xls]bkName'!$B$"
N=Cells(Rows.Count,1).End(xlUp).Row
Application.DisplayAlerts=False
Fori=2ToN
strPart=Replace(str,"bkName",Cells(i,1))
Cells(i,2).Formula=strPart&4
Cells(i,3).Formula=strPart&5
Cells(i,4).Formula=strPart&6
Nexti
Application.DisplayAlerts=True
EndSub
见附件示例。
⑶ Excel如何实现增加行的宏录制
意思不是太明白,是不是要做到:每次在A表录入数据后,自动将新录入的A:F行的数据复制到B表,并进行后续的操作?
录入数据是在哪些单元格进行?
你所录制的宏的单元格是固定的,每次都用这个宏,必须要改变单元格区域,否则每次执行都是复制第48行数据。
⑷ EXCEL如何迅速逐行插入
使用排序技巧来处理
Excel版本参考:2010
1、B1输入1,下拉到B5
2、复制B1:B5内容,粘贴到B6
3、选中B列,点击数据-排序(AZ图标)
4、右击删除B列内容
5、查看效果
⑸ 怎么实现Excel从上向下依次录入宏
在默认情况下,宏操作命令在菜单栏里找不到。需要先通过设置,让宏菜单出现在菜单栏里。选择“文件”菜单,找到“选项”命令,鼠标单击打开。在“EXCel选项”窗口中,选择打开“自定义功能区”,在右侧窗格中,把“开发工具“前的选择框勾选上。单击”确定“按钮后,返回工作表编辑窗口。这时候菜单栏里出现”开发工具“菜单。在“开发工具“菜单中,包含着有关宏的各种命令 。为了文档的安全,Excel对宏的运行做了限制性设置。鼠标单击“开发工具“菜单中的”宏安全“按钮,打开”信任中心“窗口,在”宏设置“栏内,选中”禁用,并发出通知“选项。单击”确定“按钮完成宏安全性设置,退回到工作表编辑窗口。打开“开发工具”菜单,在“代码”栏中,先单击选中“使用相对引用”按钮。首先选中单元格或者单元格区域。然后单击“录制宏”。在“录制宏”对话框中输入“宏名”,设置快捷键,以及输入对这个宏命令的说明。这里快捷键是运行宏命令的组合键,一组快捷键只能对应着一条宏命令。宏名等设置完成后,对选中的单元格或是单元格区域进行相应的设置,包括字体、字号、颜色、边框、行高、列宽的设置。设置完后,单击“停止录制”。这个宏命令就制作完成了。其实所谓的录制宏,就是让宏命令记录下刚才的操作动作。宏录制完成后,选中需要进行相同设置的单元格或是单元格区域,按下宏名输入时设置的快捷键,被选中的数据也就一次性完成了字体、字号等的设置了。选择“开发工具”菜单中的“代码”栏,单击“宏”按钮,打开“宏”窗口。在“宏”窗口中,可以对已经录制好的宏命令进行编辑、删除、执行等操作。对宏命令进行修改。单击“宏”窗口的中“选项…“按钮,可以打开宏命令的选项信息,对快捷键等内容进行修改。
⑹ Excel 删除行或添加行怎么用宏实现
举个例子:
Sub ts()
Range("a10").Insert '在A10单元格这个位置插入一整行
Range("a10").EntireRow.Delete '删除A10单元格这一整行
range("a10:a20").EntireRow.Delete '删除A10到a20这个区域的行
End Sub
其它可以自己试试。
⑺ excel 使用宏来查找并填充整行相关内容
领先的指标可以帮助您更准确地进行预测。和 互相关性可以帮助您确定领先指标。这是在Excel中自动计算和显示互相关的方法。一切似乎都很简单...要改善对销售或其他衡量指标的预测,您只需找到领先指标...与关键衡量指标高度相关但有时差的衡量指标。然后,您可以使用这些领先指标作为预测的基础。但是,当您尝试使其全部工作时,这个简单的想法可能会成为巨大的挑战。Excel中的互相关例如,假设此图表中的蓝色Data1线显示您在广告上花费的钱。并假设红色的Data2行显示了您的销售额。乍一看,您似乎真的需要更改广告策略,因为......当您花费更多的广告费用时,您的销售额将大大下降,并且,...当您减少广告支出时,您的销售额就会大幅增长。如果您想更精确地进行分析,则可以使用Excel的CORREL函数来了解Data1和Data2的相关系数为-.50。也就是说,如下图所示,您的广告和销售价值在很大程度上呈负相关。但是,这还不是故事的结局。您花在广告上的钱可能是几个月后销售额的领先指标。该图显示了从该角度进行的分析...与Excel中两个月时滞的关联在此,该表显示了与十一个不同时移相关的相关性。相关性最高的版本偏移+2个月。也就是说,已经计算了相关性,其中销售(Data2)比广告支出(Data1)提前了两个月。也就是说,广告支出可能是两个月后销售业绩的良好领先指标。但是,这种解释并不是唯一的一种解释,如下图所示:互相关结果的Excel图表在这里,我们看到销售业绩可能是三个月后广告支出的领先指标。这可能是因为当销售额上升或下降时,市场营销部门决定在广告上花费更多或更少。两种解释都得到高度相关性的支持。但是现实是您必须正确解释这样的分析告诉您的内容。即使这样,分析也绝对可以为您提供决策依据的其他事实。因此,在发出该警告的情况下,让我们进行分析。互相关数据示例互相关工作簿**我的工作簿包含两个相关的工作表:数据和报表。此图显示了数据工作表Date,Data1和Data2列包含显示的值。DateText列包含一些公式,这些公式返回要在图表中显示的文本。这是显示的单元格的第一个公式:E5: = TEXT(B5,“ mmm”)&CHAR(13)&“'”&TEXT(B5,“ yy”)此公式的CHAR(13)节返回回车符。Excel不在E列中显示此字符。但是,当文本显示在图表中时,此字符会导致年份文本换行到月份文本下方的第二行。NumRows单元格返回表中的行数。这样做是因为它使用了COUNT函数,该函数仅计算数字。我们将在此工作簿中的多个动态范围名称中引用此值。这是该单元格的公式:C1: = COUNT(B:B)要命名此单元格,请选择范围B1:C1,然后按Ctrl + Shift + F3或选择“公式”,“定义的名称”,“从选择中创建”以启动“创建名称”对话框。确保仅选中左列;然后选择确定。另外,在“报告”工作表中,设置此处显示的两个单元格,然后使用“创建名称”对话框将名称Shift分配给单元格B1。(当我像Shift单元格一样设置一个具有设置的单元格时,通常会给它填充黄色。)设置动态范围名称自动执行互相关计算的关键是设置动态范围名称,这些名称将在输入更多数据时扩展,或者根据Shift值对数据进行移位。使用NumRows单元格可以轻松设置动态范围名称,该名称会扩展为包括可能添加到上数据图中第25行以下的其他数据行。要在下面定义名字,请首先将“日期”名称的公式复制到剪贴板。然后选择“公式”,“定义的名称”,“定义的名称”(或按Ctrl + Alt + F3)以启动“新名称”对话框。在“新名称”对话框中,输入“ 日期” 作为名称;将复制的公式粘贴到“引用至编辑”框中;然后选择确定。对其余的每个名称重复此过程。日期数据1数据2日期文本= OFFSET(数据!$ B $ 4,1,0,NumRows,1)= OFFSET(数据!$ C $ 4,1,0,NumRows,1)= OFFSET(数据!$ D $ 4,1,0,NumRows,1 )= OFFSET(数据!$ E $ 4,1,0,NumRows,1)现在,您需要设置动态范围名称,以根据Shift值的符号而变化的方式移动它们引用的数据。使用“新名称”对话框来定义每个名称。s.Data1Ns.Data1Ps.Data2Ns.Data2Ps.DateText1Ns.DateText1Ps.DateText2Ns.DateText2P= OFFSET(数据1,-Shift,0,NumRows + Shift,1)= OFFSET(数据1,,0,NumRows -Shift,1)= OFFSET(数据2,0,0,NumRows + Shift,1)= OFFSET(数据2 ,Shift,0,NumRows-Shift,1)= OFFSET(DateText,-Shift,0,NumRows + Shift,1)= OFFSET(DateText,0,0,NumRows-Shift,1)= OFFSET(DateText,0,0 ,NumRows + Shift,1)= OFFSET(DateText,Shift,0,NumRows-Shift,1)在这些范围名称中,“ s”。表示名称正在 转移您的数据;“ N”表示当Shift值为负时使用该名称;“ P”表示当Shift值为正时使用该名称。最终的动态范围名称是我们绘制并在计算中使用的名称。由于Excel错误在绘制以“ c”(我们希望用于“图表”)的范围名称时存在问题,因此我们以“ g”(用于“ graph”)开始。g.Data1g.Data2g.DateText1g.DateText2= IF(Shift
⑻ 在EXCEL中,怎么利用宏有规律的插入多行,并且执行复制粘贴动作,需宏代码,具体见图片,拜托大家帮忙。
一般宏把这样的数据生成到新表中,代码可以是这样的:
sub宏1()
dimarr,i,j,k,m,n,t
arr=activeworksheet.usedrange
n=ubound(arr)
m=ubound(arr,2)
workbooks.add
cells(1,1).resize(n,8)=arr
k=n+1
fori=2ton
j=9
whilej<m
ifarr(i,j)<>""then
fort=1to5
cells(k,t)=arr(i,t)
nextt
cells(k,6)=arr(i,j)
cells(k,7)=arr(i,j+1)
cells(k,8)=arr(i,j+2)
k=k+1
endif
j=j+3
wend
nexti
endsub
代码是把数据添加到末尾的,没有中途插入,你可以运行完毕后排序。
⑼ EXCEL表中怎样用宏来实现按条件自动填入数据
用函数
d2=index(a:a,match(,0/find(b2,$e$2:$e$300),)+1)
同时按ctrl
shift
回车键,再
下拉公式
或d2=index(a:a,match(left(e2,4),b:b,))
下拉