Excel VBA-使用列标题动态选择列

Excel VBA-使用列标题动态选择列,vba,excel,Vba,Excel,我正在尝试根据VBA中的列标题动态选择列。这是我正在使用的代码 Sub trial() Dim colm As Long Dim nwb As Workbook, wb As Workbook Dim nwk As Worksheet, wk As Worksheet, wk1 As Worksheet co1m = WorksheetFunction.Match("Header", Sheets("Sheet1").Rows(1), 0) Columns(colm).Select En

我正在尝试根据VBA中的列标题动态选择列。这是我正在使用的代码

Sub trial()

Dim colm As Long
Dim nwb As Workbook, wb As Workbook
Dim nwk As Worksheet, wk As Worksheet, wk1 As Worksheet

co1m = WorksheetFunction.Match("Header", Sheets("Sheet1").Rows(1), 0)

Columns(colm).Select

End Sub

当我尝试调试它时,它在colm中显示值5,同时在下一行列(colm)中显示值5。选择,它在colm的位置显示0。请帮助我在这件事上哪里出了问题。提前感谢

您的输入有误!您有
co1m
colm

使用
选项Explicit
会引发编译错误,说明未声明
co1m


谢谢@R3uK。我不确定这是我在代码中的输入错误,因为我在代码中查看了它,它不是输入错误,但当我添加这个显式选项时,它才开始工作。这个选择背后有什么明确的原因吗?再次感谢你,伙计@VBA_Begineer:
Option Explicit
只是一种最佳实践(您可以将VBE设置为默认使用,在选项中进行检查)为了避免此类错误,它将强制您声明代码中的所有变量,因此当您输入错误时,它将警告您!)请接受答案,因为这解决了您的问题。@R3_-uK谢谢,伙计。堆栈溢出让我等了10分钟才接受你的回答。对不起。再次感谢@VBA_Begineer:啊哈,NP,我忘了那个限制!)
Option Explicit

Sub trial()

Dim colm As Long
Dim nwb As Workbook, wb As Workbook
Dim nwk As Worksheet, wk As Worksheet, wk1 As Worksheet

colm = WorksheetFunction.Match("Header", Sheets("Sheet1").Rows(1), 0)

Columns(colm).Select

End Sub