2011-05-17 80 views
0

我在VBA中获得了一个任务,我必须将现有表的行转换为列,但我只需要显示表中的两行以及所有必须完成的操作一个ActiveX控件按钮的帮助。我还必须借助按钮将表格单元值更改为欧元并返回爱沙尼亚克朗。第三,我必须根据新表格找到它的价值和价格。VBA表列/行转换和更改货币

我已经写了尽可能多的代码,但它不能正常工作。有几个问题:a)首先,在按解决方案按钮后,它不会给出新表中的所有值,b)其次,当我尝试使用货币更改按钮Euros/Kroons时,它将无限增加我的值,第三,当我不得不寻找最便宜的SMS包名称和价格时,我没有得到正确的答案。

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

的代码是很长,所以我不想在这里添加它,但图像从作业看起来像这样:enter image description here该图像显示了作业的正确解决方案。

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

回答

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 
+0

谢谢。我今天会检查这个解决方案并给出反馈! – vovkjn 2011-05-18 09:03:58

+0

m8。感谢您的解决方案。它运作良好! – vovkjn 2011-05-18 19:11:19