⑴ 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,))
下拉