有没有办法让excel VBA中的查找列动态化?

时间:2017-02-01 12:17:48

标签: excel vba excel-vba

我想做这样的事情:

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class SwingExampleDemo {
    public static void main(String[] args) {
        JFrame f = new JFrame();// creating instance of JFrame
        ImageIcon imageIcon = new ImageIcon("C:\\Users\\Public\\Pictures\\Sample Pictures\\Penguins.jpg"); // here your Image Path
        JLabel jLabel = new JLabel(imageIcon);
        jLabel.setBounds(130, 250, 100, 40);
        f.add(jLabel);
        f.setSize(400, 500);// 400 width and 500 height
        f.setLayout(null);// using no layout managers
        f.setVisible(true);// making the frame visible
    }
}

我想将i的值传递给要查找的列值。

3 个答案:

答案 0 :(得分:0)

只需使用字符串操作如下:

ActiveCell.FormulaR1C1 = "=VLOOKUP(THIS VALUE,'IN THIS TABLE RANGE," & i & ",FALSE)"

答案 1 :(得分:0)

如果您使用FormulaR1C1引用,则仅使用R1C1,否则请使用Formula

这会将公式放在第一行的第一行中,位于名为SheetName的工作表上:

With Sheets("SheetName")
    For i = 1 To 10
        .Cells(1, i).Formula = "=VLOOKUP(THIS VALUE,IN THIS TABLE RANGE," & i & ",FALSE)"
    Next i
End With

答案 2 :(得分:0)

你可能会在这样的事情之后

Cells(1, 1).Resize(, 10).FormulaR1C1 = "=VLOOKUP(""THIS_VALUE"",R2C1:R100C10,COLUMN(),FALSE)"

你必须改变的地方:

  • Cells(1, 1)您要从

  • 开始编写公式的实际单元格引用
  • R2C1:R100C10R1C1样式中的实际“TABLE RANGE”地址

  • COLUMN()写入单元格列索引和“TABLE RANGE”之间的正确差异(例如,它可能是某些COLUMN()-1