【问题标题】:Converting a string to a date in a different language将字符串转换为不同语言的日期
【发布时间】:2018-08-20 19:37:40
【问题描述】:

我有一个需要将字符串转换为日期的 excel 文件。该字符串是用荷兰语书写的,因此是“15 juli 2018”,而不是“15 juli 2018”。我的excel是英文的。我知道 Excel 内置了许多日期格式,但它不能将荷兰语字符串识别为日期。所以我的问题是原始字符串是不同的语言。我不能只更改系统的语言设置,因为我的代码应该也可以在其他系统上运行。

我很想听听任何想法。

【问题讨论】:

  • 这个 Excel 表格是从哪里来的?为什么将日期输入为字符串而不是日期?如果你有脏数据,你需要清理它,可能使用某种翻译矩阵。但它应该作为开始的日期输入。
  • 如果您无法清理它以获取作为日期条目的基础信息,那么使用荷兰语创建一个月份表可能是最快的,然后是英语,使用 MID()VLOOKUP() 左右。你试过什么?
  • 这是商业活动,我无法控制他们发送给我的内容。谢谢你的建议,我试试看!
  • 文本函数中有一些东西可以处理不同的语言。 excelribbon.tips.net/…

标签: excel string vba date


【解决方案1】:

E1中有字符串数据,在F1中输入:

=DATEVALUE(LEFT(E1,FIND(" ",E1)) & VLOOKUP(MID(E1,FIND(" ",E1)+1,FIND(" ",E1,FIND(" ",E1)+1)-(FIND(" ",E1)+1)),I:J,2) & " " & RIGHT(E1,4))

这在 IJ

列中使用了一个小的荷兰语到英语翻译表

【讨论】:

    【解决方案2】:

    这个快速的子将就地完成。选择您的日期并运行代码:

    Sub dutchtoeng()
    Dim mArr()
    mArr = Array("januari", "january", "februari", "february", "maart", "march", "april", "april", "mei", "may", "juni", "june", "juli", "july", "augustus", "august", "september", "september", "oktober", "october", "november", "november", "december", "december")
    Dim i As Long
    For i = LBound(mArr) To UBound(mArr) Step 2
        Selection.Replace mArr(i), mArr(i + 1)
    Next i
    
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      相关资源
      最近更新 更多