小编SRo*_*Roy的帖子

VBA:如何使用表标题引用列,以便我可以在单元格引用中使用该列

所以基本上我有一个代码,如果它们有两列符合某些条件,它们的目的是查找和删除行.但是,表中这些列的位置通常是可变的,因此我需要使用其表头名称引用这两列.我有一种方法来使用列号来查找和删除这些行,但是将其调整为列名称的方式并不相同.如何调整我的代码才能使其正常工作?我甚至可以使用FIND功能吗?提前致谢!

码:

 1 Sub try()
 2    
 3 ThisWorkbook.Sheets("report").Activate
 4 Last1 = Cells(Rows.Count, "A").End(xlUp).Row     
 5 For p = Last1 To 1 Step -1
 6   If (Cells(p, "Table1[type]").Text) = "active" And (Cells(p, "Table1[data]")) <> "" Then
 7       Cells(p, "A").EntireRow.Delete
 8   End If
 9 Next p
10 End Sub    
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

6
推荐指数
1
解决办法
4万
查看次数

如何在关闭工作簿时禁用 Excel VBA 中的剪贴板提示?

因此,我正在使用多个工作簿,将每个工作簿中 Sheet1 中的所有数据复制到主工作簿上各自的工作表中。完成此操作后,我将多个工作簿编码为关闭。但是,会弹出一个烦人的提示,询问我是否要始终将复制的数据保留在剪贴板上,我想让它不弹出,或者当它弹出时,我希望自动选择“否”。

我知道有人问过类似的问题,但它对我不起作用,我想这是因为我有一个矩形的数据区域而不仅仅是一列?我对 vba 确实很陌生,但我尝试在工作簿关闭时修改“禁用 Excel VBA 中的剪贴板提示”中的代码,但我没有运气。

这是我的原始代码:

Sub CFM56copydata()
Dim wbk As Workbook
'The workbook is opened using the text from a textbox in a userform i.e:
strFirstFile = Userform1.dog.Text
Set wbk = Workbooks.Open(strFirstFile)
With wbk.Sheets("Sheet1")
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
End With
Set wbk2 = ThisWorkbook
wbk2.Sheets("dog").Range("A1").Insert
wbk.Close
End Sub
Run Code Online (Sandbox Code Playgroud)

以下是我尝试调整它的方法,这样我就完全避免使用剪贴板。(不起作用,在第 12 行给了我一个调试错误)

Sub fix()
Dim wbk As Workbook
strFirstFile = Userform1.CFM56path.Text
Set wbk = Workbooks.Open(strFirstFile)
Set wbk2 = ThisWorkbook
Dim rSrc As …
Run Code Online (Sandbox Code Playgroud)

excel clipboard vba

4
推荐指数
2
解决办法
4万
查看次数

标签 统计

excel ×2

vba ×2

clipboard ×1

excel-vba ×1