• 5星
49KB weixin_58444518 2021-05-21 11:46:39
• 5星
1.45MB zhangjin7422 2021-04-07 09:24:30
• ## excel中VBA获取指定单元格内容 python 爬虫 pycharm

1、筛选指定列获取数据 For Each Rng In Sheets("目录").Range("b1:B23") Debug.Print Rng.Value If Rng.Value = "个人" Then n = n + 1 Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.Offset(0, -1)....
1、筛选指定列获取数据
For Each Rng In Sheets("目录").Range("b1:B23")
Debug.Print Rng.Value
If Rng.Value = "个人" Then
n = n + 1
Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.Offset(0, -1).Range("a1:e1").Value
Sheets("备注").Cells(n, "g").Resize(1, 5) = Rng.EntireRow.Range("a1:e1").Value
End If
Next
2、获取指定杭内容


'On Error Resume Next
Application.ScreenUpdating = False
'MP = ActiveWorkbook.Path
MP = "C:\Users\HONORS\Desktop\（安智）杭实物联网进出库汇总表 总.xlsx" '工作簿路径
'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径
' Set Wb = Workbooks.Open(MP & "\" & MN)
Set Wb = Workbooks.Open(MP)

For i = 1 To Wb.Sheets.Count
'Cells(i, 1) = Sheets(i).Name
Debug.Print Wb.Sheets(i).Name '获取表名
Next

With Wb.Sheets("总账（诸暨库）")
lr = .Cells(Rows.Count, 1).End(xlUp).Row '获取最后一行
Set rngs = .Range("A1:A" & lr) '确认列
For Each Rng In rngs
'        Debug.Print Rng.Value
If Rng.Value Like "2021/11/24" Then
n = n + 1
ThisWorkbook.Sheets("测试").Cells(n, "a").Resize(2, 25) = Rng.EntireRow.Range("a1:y1").Value
ThisWorkbook.Sheets("测试").Cells(n, "z").Value = ActiveSheet.Name
End If
Next
End With


3、调整按模块输出内容:
进出库
Dim k%
'On Error Resume Next
Application.ScreenUpdating = False
'MP = ActiveWorkbook.Path

Name = "（安智）杭实物联网进出库汇总表 总"
Dtransport = "2021/12/17"
MP = "C:\Users\HONORS\Desktop\原始数据\储运数据\" & Name & ".xlsx" '工作簿路径
'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径
' Set Wb = Workbooks.Open(MP & "\" & MN)
Set Wb = Workbooks.Open(MP)

'-----------
' For i = 1 To Wb.Sheets.Count
'    'Cells(i, 1) = Sheets(i).Name
'    Debug.Print Wb.Sheets(i).Name '获取表名
'Next
'-----------
last_row_clear = ThisWorkbook.Sheets("进出库").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置
Debug.Print "行数" & last_row_clear
ThisWorkbook.Sheets("进出库").Rows("5:" & last_row_clear).Delete
'-----------
' For i = last_row_clear To 5 Step -1
'ThisWorkbook.Sheets("进出库").Rows(i).Delete
'Debug.Print "删除" & i & "行"
'Next
'-----------
stockName = Array("总账（镇江库）", "总账（衢州库）", "总账（诸暨库）", "总账（昆山库）", "总账（泉州库）", "总账（武汉库）", "总账（泗阳库）", "总账（全椒库）")
For i = 0 To UBound(stockName)
'Debug.Print i
'        If i = 0 Then
'             Wb.ActiveSheet.Range("a1:Y3").Copy ThisWorkbook.Sheets("测试").Cells(1, 1)  '复制标题
'             ThisWorkbook.Sheets("测试").Cells(1, 1).Resize(3, 1) = 1
'        End If
With Wb.Sheets(stockName(i))
Wb.Sheets(stockName(i)).Activate '当前工作表激活
lr = .Cells(Rows.Count, "A").End(xlUp).Row '获取最后一行
Set rngs = .Range("A1:A" & lr) '确认列
For Each Rng In rngs
'            Debug.Print Rng.Value
If Rng.Value Like Dtransport Then
k = k + 1 '记录条目
Debug.Print "条目" & k & "：" & Rng.Value & ActiveSheet.Name '输出当前工作表内容
last_row = ThisWorkbook.Sheets("进出库").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置
'                       n = n + 1 '判断行数
ThisWorkbook.Sheets("进出库").Cells(last_row, "a").Resize(2, 25) = Rng.EntireRow.Range("a1:y1").Value  '获取对应条目内容
ThisWorkbook.Sheets("进出库").Cells(last_row, "z").Value = ActiveSheet.Name  '写入表格名称
End If
Next
End With
Next
ThisWorkbook.Sheets("进出库").Range("A:L").RowHeight = 15 '行高
'    ThisWorkbook.Sheets("进出库").Range("C:C").ColumnWidth = 35 '列宽
Wb.Close False '关闭工作簿
4、获取规定条目内容：
运输
Dim k%
On Error Resume Next
Application.ScreenUpdating = False
'MP = ActiveWorkbook.Path
Name = "脚手架运输台账(热联&安智)12.18"
Dtransport = "2021/12/17"
MP = "C:\Users\HONORS\Desktop\原始数据\储运数据\" & Name & ".xlsx" '工作簿路径
'MN = Dir(MP & "\" & "*.xlsx") '工作簿路径
' Set Wb = Workbooks.Open(MP & "\" & MN)
Set Wb = Workbooks.Open(MP)
'-----------
' For i = 1 To Wb.Sheets.Count
'    'Cells(i, 1) = Sheets(i).Name
'    Debug.Print Wb.Sheets(i).Name '获取表名
'Next
'-----------

last_row_clear = ThisWorkbook.Sheets("运输").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置
Debug.Print "行数" & last_row_clear
ThisWorkbook.Sheets("运输").Rows("3:" & last_row_clear).Delete

stockName = Array("热联")
'For i = 0 To UBound(stockName)
Debug.Print i
'        If i = 0 Then接下来的货量，货量预计；
With Wb.ActiveSheet 'Wb.Sheets(stockName(0))
'          Wb.Sheets(stockName(0)).Activate '当前工作表激活
lr = .Cells(Rows.Count, "A").End(xlUp).Row '获取最后一行
Set rngs = .Range("D1:D" & lr) '确认列
For Each Rng In rngs
'            Debug.Print Rng.Value
If Rng.Value Like Dtransport Then
k = k + 1 '记录条目
Debug.Print "条目" & k & "：" & Rng.Value & ActiveSheet.Name '输出当前工作表内容
last_row = ThisWorkbook.Sheets("运输").Cells(Rows.Count, 1).End(xlUp).Row '最后一行位置
'                       n = n + 1 '判断行数
ThisWorkbook.Sheets("运输").Cells(last_row, "a").Resize(2, 147) = Rng.EntireRow.Range("a1:EQ1").Value  '获取对应条目内容
ThisWorkbook.Sheets("运输").Cells(last_row, "ER").Value = ActiveSheet.Name  '写入表格名称

End If
Next
End With
ThisWorkbook.Sheets("运输").Range("A:L").RowHeight = 15 '行高
'         ThisWorkbook.Sheets("运输").Range("C:C").ColumnWidth = 35 '列宽

'Next

Wb.Close False '关闭工作簿

展开全文
u010719791 2021-11-24 22:12:47
• 有同学问:能不能使用union函数将符合条件单元格所在行全部选中,然后删除. 如下图:删除黄色底纹的标题行 为此,给出代码如下: Sub test() Dim arr, myrow As String Dim cc As Variant, ran As Range r = Sheet...
有同学问:能不能使用union函数将符合条件的单元格所在行全部选中,然后删除.
如下图:删除黄色底纹的标题行

为此,给出代码如下:
Sub test() Dim arr, myrow As String Dim cc As Variant, ran As Range r = Sheet1.Range("b65536").End(xlUp).Row arr = Sheet1.Range(B1:B" & r).Value
For i = 1 To UBound(arr, 1)     If arr(i, 1) = "count" Then         myrow = myrow & i & ","         myrow = myrow & i + 1 & ","     End If Next i
cc = VBA.Split(myrow, ",")'union中必须是对象.所以这种写法必须先让一个变量定义为具体的对象Set ran = Rows(cc(0)) For i = 1 To UBound(cc) - 1 '因分割后有一个空字符产生,所以舍掉     Set ran = Application.Union(ran, Rows(cc(i))) Next i ran.Delete Set ran = Nothing End Sub


展开全文
logo_28 2020-04-08 22:36:58
• ## 【一步一步学习VBA】Excel VBA 获取指定单元格的数据并进行字符串匹配 InStr

从上一篇文章我们可以获取到指定单元格的数据，并判断出类型。 这次要做的就是，如果这个单元格数据类型是字符串，我们就去进行子字符串的匹配，说的简单点就是判断指定单元格有没有我们需要找的字符串。 例如：...
从上一篇文章我们可以获取到指定单元格的数据，并判断出类型。
这次要做的就是，如果这个单元格数据类型是字符串，我们就去进行子字符串的匹配，说的简单点就是判断指定单元格有没有我们需要找的字符串。
例如：判断单元格J6有没有‘√’，代码如下：

Sub aa()
Set a = Range("J6")
If InStr(a, "√") Then MsgBox (a)

End Sub
这里我们用到函数:InStr,简介请点击链接：
InStr详解


展开全文
chenqiai0 2016-08-06 17:09:39
• ## VBA如何删除指定区域内容 有问必答 开发语言

Penny1227 2021-08-06 10:03:11
• ## 将某列空白单元格所在的行删除#Excel VBA# excel vba

如题，预计打算把黄色标示的行全部一齐删除。 如果数据比较大达到几十万行的话，循环寻找A列为空则比较低效。 若用SpecialCells函数把空白单元格全部找到而且选中，则不需要循环，速度较快。 Sub Test () dim blk, ...
 如题，预计打算把黄色标示的行全部一齐删除。 如果数据比较大达到几十万行的话，循环寻找A列为空则比较低效。 若用SpecialCells函数把空白单元格全部找到而且选中，则不需要循环，速度较快。
Sub Test ()
dim blk, blk2 as range
dim m as Long
Range("A1:A" & lRow).SpecialCells(xlCellTypeBlanks).Select
Set blk = Selection
Set blk2 = Rows(Selection.Row)
For Each m In blk
Set blk2 = Union(blk2, Rows(m.Row))
Next
blk2.Delete
End Sub


谢谢！
展开全文
qq_40942827 2021-03-11 22:43:55
• ## word、wps中使用vba删除所有表格指定列 vba microsoft wps openoffice

Akc_true 2021-10-22 12:37:10
• xuemanqianshan 2018-10-19 12:19:28
• ## Excel VBA 插入指定图片到单元格并只适应大小 EXCEL VBA

yinming4u 2015-10-14 09:44:30
• cxu123321 2019-06-09 17:48:04
• csdndscs 2020-07-21 01:59:16
• ## Excel VBA 删除 表格中的图片 excel

weixin_45498306 2021-01-19 09:18:50
• ainideren52088 2017-09-28 10:33:54
• ## Excel VBA 之单元格格式 excel vba 程序设计

soga235 2020-06-03 13:38:03
• yangdanbo1975 2018-01-14 21:12:37
• ## 【Excel VBA】神操作之命名单元格或区域（一）——为单元格或区域命名 excel vba

ppzgghgzshpph 2021-05-21 22:29:21
• ## Excel VBA Range单元格操作实例 excel vba

qq389445046 2020-02-16 21:51:53
• charki 2021-05-02 18:28:59
• ## 【Excel VBA】单元格变更事件，单元格内容变更自动触发：Worksheet_Change excel vba

ppzgghgzshpph 2021-06-15 22:34:02
• miaozk2006 2013-09-02 09:05:57
• ## word(2010)使用VBA完成批处理操作-批量清除表格某单元格内容 经验分享

qq_36381700 2020-09-23 17:24:13
• cxu123321 2019-05-21 09:12:39
• ## 工作簿中另存指定工作表并以单元格数据命名 vba

4星
12KB sinat_35255410 2018-11-01 20:11:19
• PbGc396Dwxjb77F2je 2017-11-15 00:00:00
• weixin_39545269 2020-12-11 15:14:45
• ## vba单元格-批注 vba

qq_43422460 2020-03-01 18:50:53
• ## VBA Excel 单元格内多行内容的文字处理方法 vba excel

Delay_coder 2020-09-05 15:09:53
• ## 【Excel VBA】神操作之命名单元格或区域（二）——引用命名单元格或区域 excel vba

ppzgghgzshpph 2021-05-22 09:54:15
• liujinli0712 2020-06-11 23:08:28
• m0_46291589 2020-02-24 22:37:19
• ## VBA常用小代码：在单元格中批量插入图片 vba

yihuliunian 2020-03-29 22:47:11

...