0

我正在尝试在某些工作表内的文本框中应用波斯日期格式。文本框现在以“dd/mm/yyyy hh:mm”格式存储日期,这是我自己应用的。但我正在努力在这些文本框中应用波斯日期。当我将单元格的日期格式更改为波斯语时,我录制了一些宏,并且我试图在文本框中使用它,但这段代码似乎无法正常工作。

这是我现在正在使用的代码,它工作正常

TextBox1 = Format(TextBox1, "dd/mm/yyyy hh:mm")

以及我试图用来应用波斯日期但我没有任何效果的那些行

TextBox3 = Format(TextBox3, "[$-fa-IR,16]dd/mm/yyyy;@")

这就是录制宏并将日期格式手动更改为波斯语的效果。从这一行我得到了一个公式并尝试在上面实现它。

Range("J30").Select
    Selection.numberFormat = "[$-fa-IR,16]dd/mm/yyyy;@"

你们中的任何人都可以为我提供一些合理的解决方案吗?

预先感谢您的帮助。

4

2 回答 2

1

这篇博客文章应该对您有所帮助,因为它涵盖了许多不同的日期格式,包括波斯语https://www.jquery-az.com/3-ways-change-date-format-excel-14-date-formulas /

在 excel 中,以下公式将格式化波斯语的标准日期:

=TEXT(A1,"[$-0429]mmmm d,yyyy")

所以在 VBA 中,以下应该可以工作:

Range("J30").numberFormat = "[$-0429]mmmm d, yyyy"

就文本框内的格式而言,如果文本框文本指的是单元格位置,则格式化此单元格位置将影响文本框的格式 - 请参见下图。

在此处输入图像描述

如果您尝试直接在文本框中格式化文本,您可以尝试将 .value 添加到上面的代码片段中,例如。

TextBox3.value = Format(TextBox3.value, "[$-fa-IR,16]dd/mm/yyyy;@")

我只能在工作中访问 Office for Mac,并且不支持我测试该功能。此博客文章讨论了如何通过 VBA 将格式应用于文本框,但它可能不支持语言格式选项。如果是这种情况,您可以考虑修改您的文本框以引用您可以格式化的单元格位置。

https://www.extendoffice.com/documents/excel/4899-excel-format-textbox-as-currency.html

于 2019-06-03T10:02:18.097 回答
0

你安装波斯语了吗?

文件 > 选项 > 语言 > [添加其他编辑语言] - 选择波斯语 > 添加 > 确定

您可能需要重新启动 Excel,并且可能需要重新应用格式。

于 2019-06-03T09:57:07.990 回答