【问题标题】:How to fill up excel names based on filename如何根据文件名填写excel名称
【发布时间】:2015-02-24 03:47:56
【问题描述】:

我想问一下是否有一个excel宏或者vba来自动获取文件名例如D01Q12013,然后将三个新列(地区、季度、年份)添加到前十三列现有数据的表中,并根据文件名填充三个新列(地区 - 01、季度 - 1、年 - 2013)?

【问题讨论】:

  • 您的问题的答案是肯定的。 DIR 函数与其他字符串操作函数(Mid、len、left、right 等)一起可以得到你想要的。

标签: vba excel


【解决方案1】:

以下内容应该可以帮助您入门:

Sub GetName()

Range("A1").Value = ThisWorkbook.Name
Range("A2").Value = "District - " & Mid(ThisWorkbook.Name, 2, 2)
Range("A3").Value = "Quarter - " & Mid(ThisWorkbook.Name, 5, 1)
Range("A4").Value = "Year - " & Mid(ThisWorkbook.Name, 6, 4)

End Sub

这里的两个关键要素:

  1. ThisWorkbook.Name = 给出代码所在的工作簿的名称。您还可以使用“ActiveWorkbook.Name”来获取活动工作簿的名称。
  2. Mid = 允许您提取一段文本的一部分(例如工作簿的文件名)。该函数的使用格式为:

    MID(text_to_extract_from, start_position, number_of_characters)

因此“Range("A4").Value = "Year - " & Mid(ThisWorkbook.Name, 6, 4)" 行将单元格 A4 的值设置为以“Year -”开头的短语,然后使用以代码所在工作簿文件名的第六个字符开头的四个字符。

使用这些元素和宏记录器,您应该能够实现插入包含部分文件名的新列的目标。

【讨论】:

  • 知道了,成功了。现在讨论解决方案的其余部分。谢谢!:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
相关资源
最近更新 更多