วิธีแก้ไขภาษาสเปรดชีต


0

ฉันกำลังสร้างสเปรดชีตและฉันต้องการให้แน่ใจว่าเนื้อหาทั้งหมดเป็นภาษาอังกฤษแม้ว่าสเปรดชีตจะถูกแชร์กับผู้ใช้ที่มีภาษาอื่นใน Office ตัวอย่างเมื่อไม่มี (ภาษาฝรั่งเศสเป็นภาษาเริ่มต้น):

enter image description here

เป็นไปได้ในระดับเอกสารหรือไม่? ฉันรู้ว่าฉันสามารถ จัดการภาษาใน ของฉัน การติดตั้งสำนักงาน ฉันต้องการทราบว่าฉันสามารถแทนที่การตั้งค่านี้ในการติดตั้งของผู้อื่น (สำหรับเอกสารนั้น)


1
ฉันรู้ว่าคุณสามารถจัดรูปแบบเซลล์แต่ละเซลล์เพื่อแสดงวันที่ในภาษาที่แน่นอน ( การอ้างอิง ) แต่ฉันยังไม่ทราบเกี่ยวกับการตั้งค่าระดับสมุดงาน
Engineer Toast

นี่คือสิ่งที่ฉันกำลังมองหาฉันไม่รู้ว่าฉันจะพลาดการตั้งค่าได้อย่างไร! คุณช่วยเขียนความคิดเห็นของคุณเป็นคำตอบเพื่อที่ฉันจะได้ยอมรับได้หรือไม่?
WoJ

@EngineerToast คุณรู้หรือไม่ว่าการตั้งค่านี้จะแทนที่การตั้งค่าระบบ
Raystafarian

1
@Raystafarian เขียนโค้ดภาษาลงในเซลล์เฉพาะแทนที่การตั้งค่าอื่น ๆ สำหรับภาษาทั้ง Office และระบบ
Engineer Toast

คำตอบ:


1

ต่อไปนี้เป็นวิธีแก้ปัญหา VBA ที่จะกำหนดรูปแบบสำหรับวันที่ทั้งหมดให้เป็นภาษาใดภาษาหนึ่งโดยเฉพาะ มันถูกเขียนเป็นเพียงแค่จัดรูปแบบวันที่ แต่คุณสามารถเปลี่ยนได้ ขึ้นอยู่กับตัวเลือกในกล่องโต้ตอบ "Format Cells" ฉันเชื่อว่ามีผลกับวันที่เวลาและรูปแบบพิเศษเท่านั้น คุณจะต้อง รายการ ID ภาษา เพื่อตั้ง LCID ตามมูลค่าที่คุณต้องการ (ต้องแน่ใจว่าใช้ LCID Hex ไม่ใช่ LCID Dec)

Sub SetLanguageFormat()

    'Declarations
    Dim cell As Range
    Dim f As String
    Const LCID As String = "[$-0409]"
    Dim reg 'As RegExp  'Removed for late binding

    'Setup regular expression
    Set reg = CreateObject("vbscript.regexp")
    reg.Global = True
    reg.IgnoreCase = True
    reg.Pattern = "\[\$\-+[\w]*[\w]\]"

    'Loop through all cells and change the date formate
    For Each cell In ActiveSheet.UsedRange.Cells
        If IsDate(cell.Value) Then
            f = cell.NumberFormat
            If reg.Execute(f).Count > 0 Then
                'Language is set so replace it
                f = reg.Replace(f, LCID)
            Else
                'Langauge is not set so add it
                f = LCID & f
            End If
            cell.NumberFormat = f
        End If
    Next

End Sub

คุณยังสามารถทำสิ่งนี้แบบหนึ่งต่อหนึ่งผ่าน วิธีการด้วยตนเอง โดยคลิกขวาที่เซลล์แล้วคลิก "จัดรูปแบบเซลล์ ... "


น่าสนใจ +1!
Raystafarian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.