2014-11-14 4 views
-1

Я пытался делать утверждения IF и утверждения case для достижения этого, и ничто не было отдаленно успешным.Формат диапазона ячеек Отдельная валюта в зависимости от значения ячейки

В основном у меня есть книга с 5 вкладками, которая имеет разные именованные диапазоны в каждом листе, которые предназначены для валютного формата.

Однако, исходя из значения ячейки на первой вкладке (например, она может быть CAD, USD, NOK и т. Д.), Формат валюты в этом диапазоне ячеек должен измениться.

I.e. Если значение ячейки на вкладке 1 равно САПР, то все именованные диапазоны на вкладках 2-5 должны быть «$», если доллар по-прежнему «$», если NOK «kr» и т. Д.

Любая помощь будет в значительной степени оценили!

+0

Вы можете показать, как выглядят ваши данные? образцы данных, конечно !!! –

+0

Я прикрепляю ссылку на мой файл здесь, дайте мне знать, есть ли другой способ напрямую подключить мой файл. В принципе, на первой вкладке есть выпадающее меню, которое будет иметь выбор валюты, а затем NAME1 и NAME2 с названиями диапазонов должны измениться на эту валюту. https://drive.google.com/file/d/0B1mb0wVkbQcUdm42ZHVZNVFsVzQ/view?usp=sharing – user979226

ответ

0

Запись макроса, чтобы получить свой синтаксис формата валюты и добавить в IF заявление, т.е. ..

Selection.NumberFormat = "[$kr-414] #,##0.00" 

Вы могли бы также рассмотреть возможность использования Case Select вместо нескольких If s

+0

Я не знал, что запись макроса действительно будет работать, чтобы показать валютные форматы ... позвольте мне взглянуть на это, вы так много! – user979226

0

Вы можете поместить этот код в код листа Tab1. Когда значение A1 Cell Changes, оно вызывает таблицы необходимых вам листов.

Option Explicit 

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 

Select Case Range("A1").Value 
     Case "CAD" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$CAD]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$CAD]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$CAD]" 
    Case "USD" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$USD]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$USD]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$USD]" 
    Case "NOK" 
     Worksheets("Sheet2").Range("Table1").NumberFormat = "#,##0.00 [$NOK]" 
     Worksheets("Sheet3").Range("Table2").NumberFormat = "#,##0.00 [$NOK]" 
     Worksheets("Sheet4").Range("Table3").NumberFormat = "#,##0.00 [$NOK]" 
    End Select 

End Sub 
+0

Я собираюсь попробовать это сейчас, спасибо! – user979226

+0

Вы попробовали? – Golemic

Смежные вопросы