簡體   English   中英

如果滿足某些條件,則帶有外部單元的VBA宏乘法列

[英]VBA macro multiplying column with outside cell, if certain criteria is met

請幫助我解決這個難題。 假設我有2欄:一欄是貨幣符號(美元,英鎊,歐元),第二欄是不同金額。

我需要的是通過將GBP和EUR乘以其他excel文件中存儲的F / X匯率將其轉換為USD,如果金額為USD,則保留USD。

到目前為止,我已經做了類似的事情:

Dim wk As Workbook
Set wk = Workbooks.Open("....\....xlsx")
Dim sh As Worksheet
Set sh = wk.Worksheets("Sheet1") 
wk.Activate
sh.Select
If currency = "GBP" Then
    result = .Range("N:N") * sh.Range("A1")
    ElseIf currency = "EUR" Then
    result = .Range("N:N") * sh.Range("A2")
    Else currency = "USD" Then
    result = .Range("N:N") 
    End If

我想我可以通過一些循環來做到這一點,但是我對VBA並不十分了解,這是我偶然想到的。

非常感謝您的幫助。

您可以在不使用VBA的情況下執行此操作,只需創建一個表即可容納貨幣報價器(USD,EUR,GBP)及其對應的USD轉換率。 從那里,您可以在原始數據中使用VLOOKUP提取轉換,只需將其乘以當地貨幣金額即可得出等值的美元。

= VLOOKUP(E3,A:B,2,0)* F3

其中E3是要轉換的貨幣,A:B是您的表數組(數據庫),F3是本地貨幣的金額。 在原始數據中自動填寫公式,以填充所有轉化。

在此處輸入圖片說明

您也可以將其嵌套在IFERROR以生成有關尚未存儲在數據庫中的任何貨幣的消息。

IFERROR(VLOOKUP(E3,A:B,2,0)* F3,“貨幣不在DB中”)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM