VBA表列/行转换和更改货币

时间:2011-05-17 19:56:09

标签: vba

我在VBA中有一个赋值,我必须将现有表的行转换为列,但我只需要从表中显示两行,所有这些都必须在ActiveX控件按钮的帮助下完成。我还必须在一个按钮的帮助下将表格单元格值更改为欧元并返回到爱沙尼亚克朗。第三,我必须根据新表找到它的价值和价格。

我已尽可能多地编写代码,但它无法正常工作。有一些问题:a)首先,在按下求解按钮后,它没有给出新表中的所有值,b)其次,当我尝试使用货币更改按钮Euros / Kroons时,它会无限地乘以我的值第三,当我必须找到最便宜的短信包名称及其价格时,我得不到正确答案。

我想我的解释非常混乱,所以我在这里添加可以看到的Excel文件:http://www.2shared.com/file/awEG5hf-/KT_online.html

代码很长,所以我不想在这里添加它,但是赋值中的图像如下所示:enter image description here该图像显示了正确的赋值解决方案。

如果有人能抽出时间帮助我,我真的很感激。非常感谢你。

1 个答案:

答案 0 :(得分:1)

尝试更改以下潜艇

SHEET1

Private Sub CommandButton1_Click()
    If Sheet1.Range("E6").Value = "Prices in Euros" Or Sheet1.Range("E6").Value = ""    Then eek
End Sub

Private Sub CommandButton2_Click()
    If Sheet1.Range("E6").Value = "Prices in Kroons" Or Sheet1.Range("E6").Value = "" Then eur
End Sub

Private Sub CommandButton3_Click()
    lahenda
End Sub

MODULE1

Sub lahenda()

With Sheet1
    .Range("B8:B16,F8:F16").Copy
    .Range("B18:J19").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=True
    .Range("C23").Formula = "=MIN(H9:H16)"
    .Range("C24").Formula = "=INDEX(B9:B16,MATCH(minhind,H9:H16,0),1)"
End With

End Sub

MODULE2

Sub eur()
    Dim prk As Range, hinnad As Range, koht1
    Dim n, m
    Set prk = Range("alg").CurrentRegion
    n = prk.Rows.Count - 1
    m = prk.Columns.Count - 1
    Set hinnad = prk.Offset(1, 1).Resize(n, m)

    Set koht1 = prk.Cells(2, 2)

    ReDim a(1 To n, 1 To m), paketid(1 To n), naitajad(1 To m)
    ReDim veerg(1 To n), rida(1 To m)
    ReDim b(1 To n, 1 To m)

    a = hinnad

    kurss = Range("kurss")
    tee_tabel a(), n, m, b(), kurss
    tabel_lehele b(), n, m, koht1
 Sheet1.Range("E6").Value = "Prices in Euros"
End Sub

单词数

Sub eek()
    Dim prk As Range, hinnad As Range, koht1 As Range
    Dim n, m
    Set prk = Range("alg").CurrentRegion
    n = prk.Rows.Count - 1
    m = prk.Columns.Count - 1
    Set hinnad = prk.Offset(1, 1).Resize(n, m)

    Set koht1 = prk.Cells(2, 2)

    ReDim a(1 To n, 1 To m), paketid(1 To n), naitajad(1 To m)
    ReDim veerg(1 To n), rida(1 To m)
    ReDim b(1 To n, 1 To m)

    a = hinnad

    kurss = Range("kurss")
    tee_tabel a(), n, m, b(), kurss
    tabel_lehele b(), n, m, koht1
 Sheet1.Range("E6").Value = "Prices in Kroons"
End Sub