如何将月份从一种语言自动翻译成另一种语言?

如何将月份从一种语言自动翻译成另一种语言?

我想将一份账单报告从葡萄牙语(巴西)翻译成英语。它以月为单位精确计算,并且是一份自动化表格。
合同可能从 1 月开始,但通常也从其他 11 个月开始。

如果我将第一个月设为四月,右边的其他十一个月就会不断增长(五月、六月、七月......)直到三月。

我创建了这个公式:

=PROPER(TEXT((B1&1)+31;"mmmm")) 

从第二至第十二个月。

不过我用的是葡萄牙语(巴西),效果很好。但当输入英语月份时,效果就不好了。

我已经尝试过了[$-409],但它并没有按照我想要的方式工作。

如果我使用这个,它就会像前一个月和二月一样,并且在接下来的几个月里出现错误。

我想写下一月并收到二月、三月等等。

它可能在您的机器上运行,请也尝试使用其他语言。

注意:VBA 不起作用,我需要将其发送给我的客户。

答案1

我认为你想要的事情不可能以你想要的方式实现。

根据您的评论,您无法更改系统区域设置,因为此文档可以在其他没有此选项的计算机上使用

我能想到的唯一解决方案是使用 VBa

在此示例中,我查看了整个工作表,并将单词替换为等效的

首先,备份文件。VBa 无法撤消

Sub ChangeTheNameMeHearties()

Dim cell As Range

For Each cell In ActiveSheet.UsedRange
    Dim s As String
    Select Case LCase(cell.Value)

        Case cell.Value = "january"
            cell.Value = "Janeiro"

        Case cell.Value = "february"
            cell.Value = "Fevereiro"

    End Select
Next

End Sub

你需要添加其余的月份,但这应该是直截了当的,然后想想它们如何“翻译”

另请参阅如何在 MS Office 中添加 VBA?

你甚至可以使用类似这样的case语句

    Case cell.Value = "january"
        cell.Value = "Janeiro"

    Case cell.Value = "janeiro"
        cell.Value = "January"

    Case cell.Value = "february"
        cell.Value = "Fevereiro"

    Case cell.Value = "fevereiro"
        cell.Value = "February"

这意味着,每次运行它时,你都会在语言之间切换

答案2

我已经修复了,抱歉迟了。

我修复了使用

=PROPER(TEXT((DATE(2014,B3,1)),"mmmm"))

其中“B3”是从数据透视表中检索的月份数字,它只改变一次。

下个月将获得 +1,而不是“下个月”。

=IF(B3<12,B3+1,1)

如果前一个月已经是 12,则使用 IF 从 1 重新开始。“如果没有 if,它仍然会继续超过 13”

相关内容