excel - 如何根据单元格值返回标题名称?编程语言

标签 excel vba

我创建了一个日志详细信息表来跟踪 Excel 电子表格中所做的更改,但我的代码未返回列/标题名称。

enter image description here

列名应返回发生更改的列。在本例中,它将是员工身份。

这就是我的 Excel 文件的样子。

enter image description here

这是我的 VBA 代码

Dim lastRng

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If ActiveSheet.Name <> "logdetails" Then

        Application.EnableEvents = False
        
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Value = ActiveSheet.Name & "-" & Target.Address(0, 0)
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 1).Value = Target.Address
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 2).Value = lastRng
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 3).Value = Target.Value
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 4).Value = Environ("username")
        Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 5).Value = Now
        Sheets("logdetails").Columns("A:H").AutoFit
        
        Application.EnableEvents = True

    End If
End Sub

Private Sub Workbook_Open()
    Set lastRng = ActiveCell
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    lastRng = Target.Value
End Sub

最佳答案

假设列名位于第 1 行:

Dim colName As String
colName = ActiveSheet.Cells(1, Target.Column)
Sheets("logdetails").Range("A" & Rows.Count).End(xlUp).Offset(0, 1).Value = colName 

关于excel - 如何根据单元格值返回标题名称?编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75224596/

相关文章:

python - 使用与 HYPERLINK 链接的颜色突出显示目标单元格

asp.net - 导出Excel前添加标题

VBA QueryPerformanceCounter 不工作

引入天气形状的 Excel VBA - 尝试在重新运行之前删除形状

vba - 使用 FollowHyperlink 打开打开的 PDF 后将其关闭

c# - 使用 C# 对 MS office 进行编程 - 可能吗?

excel - 请求解释一行VBA代码

.net - 将 Microsoft Excel 与我的应用程序连接是否合法?

excel - 根据包含行号的变量在 Excel 中选择单元格

vba - 在 VBa 中重绘标签控件