1

Я получил файл Excel, содержащий выдержку прогнозов продаж. Нет столбца, явно определяющего денежную единицу. Денежная единица отображается только при форматировании чисел (GBP, EUR или CHF). Кто-нибудь знает, как я могу определить формат валюты, чтобы применить соответствующий обменный курс для разных валют?

Пример:

Формат отображаемого числа / фактическое число в ячейке

200 000 фунтов / 200 000

10000 CHF / 10000

500 000 евро / 500 000

Большое спасибо, Тым

2 ответа2

1

Попробуйте следующую пользовательскую функцию:

Public Function txet(r As Range) As String
    Dim s As String
    s = Replace(r.NumberFormat, Chr(34), "")
    txet = ""
    If Len(s) < 3 Then Exit Function
    s = Right(s, 3)
    txet = s
End Function

Пользовательские функции (UDF) очень просты в установке и использовании:

  1. ALT-F11 открывает окно VBE
  2. ALT-I ALT-M открывает новый модуль
  3. вставьте материал и закройте окно VBE

Если вы сохраните книгу, UDF будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить UDF:

  1. откройте окно VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы использовать UDF из Excel:

=txet(A1)

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

а подробности о UDF смотрите в:

http://www.cpearson.com/excel/WritingFunctionsInVBA.aspx

Макросы должны быть включены, чтобы это работало!

0

Вы можете сделать это в VBA.

Sub CheckFormat()
Dim myCell, j, LastRow
   Worksheets("Sheet1").Activate
   LastRow = Cells(Rows.Count, "A").End(xlUp).Row
   For j = 1 To LastRow
     Set myCell = Cells(j, "A")
     Debug.Print myCell.NumberFormat
   Next j
End Sub

Я положил ваши образцы в A1, A2 и A3. Приведенный выше код выводит это:

[$ GBP] #, ## 0,00

[$ CHF] #, ## 0,00

[$ EUR] #, ## 0,00

Затем вы можете проанализировать первые части этого, чтобы решить, какой коэффициент конверсии применить.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .