A. excel如何用VBA在指定行後面插入一行,並把從錄入窗體中獲得的數據添加進去,求代碼
給你個思路.
首先在類別列查找"五金",如果找到,然後從從此行開始向下循環,(可以用for each 在找到的單元格到蘆跡此列的最後一個單元格),在循環體中用if進行測試B列單元格的內容,如果是"五金",則繼續向一行,如果不是,則表示已經到末尾了,現在可以在陪岩並此插入棗茄下行.將你的內容分別輸入到對應的單元格中即可.
如果沒有找到"五金",那麼你要麼在最後追加,要麼在第一行之前插入一行,這個就看你的個人意思了.
B. 在excel中用VBA如何實現對非空單元格行數的統計。
最雀凱隱好用孫尺工作表函數頃廳
Sub 統計非空單元格()
x = 0
For Each l In Rows
x = x + IIf(WorksheetFunction.CountA(l) > 0, 1, 0)
Next l
MsgBox x
End Sub
C. 在excel空白或某一行中插入新的一行,且只插入一次,不是空的時候自動往下一個插入,那VBA裡面要怎麼編寫
你的意思不是說如果上下兩行之間如果沒有一個空行飢銀隔開就插入一個空行,如果有空行就不插入空行?,按鈕每按一次就自動在兩個沒有空行隔開的行插入一個空行.
如果我描述的是你的要求的話,操作步驟如下:
1.按ALT+ F11進入VBA編輯窗口.在窗口左邊列表欄點擊滑鼠右鍵選此轎插入模塊.然後粘貼下面代碼到右邊窗口.然後關閉VBA編輯窗口返回工作表
代碼如下:
Sub inst()
For Each rng In Range("A1:A" & [A65536].End(xlUp).Row)
If rng <> "" And rng.Offset(1, 0) <> "" Then
rng.Offset(1, 0).Insert
Exit For
End If
Next
End Sub
2.在工作表合適的位置插入一個窗體按鈕(注意是菜單->視圖->工具欄->窗體里的按鈕,不是控制項工具箱里的命令按鈕),然後按鈕爛扒宴的指定宏指定為inst 這個宏即可.
D. 如何在VBA插入指定行數
代碼運行後
代碼如下:
Sub 插行()
Dim i%, n% '聲明兩個整型變數
For i = 22 To 2 Step -1 '注意褲扮大:插行刪行都必須逆向遍歷
n = Range("A" & i) - 1 '計算應插入的行數n
If n > 0 Then
缺雀 Rows(i & ":"胡豎 & i + n - 1).Insert '插入行
End If
Next
MsgBox "處理完畢", 64 '完畢時彈出提醒
End Sub
E. 如何用VBA實現在指定區域自動查找空白單元格,並按規則自動填充數值,多謝
col=range("C1").end(xltoright).column '找非空列 cells(3,col)即早歷所想要單元格含睜讓談局
F. EXCEL中VBA或者函數怎麼自動插入新數據
根據你圖一數據及要求寫了一段代碼,看是不是滿足要求:
1、運行前請備份原始數據表,切記!
2、為了便於檢查,會自動在相關單元格寫入公式。
3、代碼直接放到圖一的「水準測量記錄」表的代碼頁中,如果寫在模塊中,請自行修改代碼。代碼運行後會生成圖二的樣子,只能運行一次,再次運行時必須保證數據格式是圖一(原表)的格式。由於有幾個數據是隨機數,多次測試結果會不同。
4、默認圖一E列是已知數據。
Sub 插入數據()
Dim i As Long
Dim k As Long
Dim n As Long
n = 8
k = 10
With ActiveSheet
For i = 11 To 65536
If .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" & i
Else
If .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 + 1
ElseIf .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 + 1
End If
k = i + 1
n = n + 1
i = i + 1
End If
If .Range("E" & i + 1) = "" Then Exit For
Next i
End With
End Sub
G. VBA 一維數組如何增加一個數據或者更多數據
用咐輪鉛For 循環就可以,例如,第一行有桐指數據,用下程序就可衡好以把A~F列的數據放到數據中。
Sub tt()
Dim Arry(50)
For i = 0 To 5
Arry(i) = Cells(1, i + 1)
Next
End Sub
H. VBA 添加數據
方法1:A列沒有任何數據時,Row獲得沖蘆棗的最後一行有數據的行號是1,數據會從row+1行開始,也就是第二行,要想從第一行寫入數據要用代碼判斷調整.(代碼中沒有做這個判斷嘩漏)
Private Sub CommandButton1_Click()
With Sheets(1)
Row = .Range("A65536").End(xlUp).Row
.Range("A" & Row + 1).Value = TextBox1.Value
End With
End Sub
方法2:定義了一個公共變數N來記錄有數據的行.每點一散拆次按鈕N變數加1.
Dim N As Long
Private Sub CommandButton1_Click()
N = N + 1
Sheets(1).Range("A" & N).Value = TextBox1.Value
End Sub