在excel工作集中的图表上垂直对齐文本框

时间:2017-05-18 11:03:26

标签: excel-vba vba excel

我的excel工作表中有一个文本框,我想在工作表中沿着图表垂直对齐。我无法做到这一点。有人能帮我吗? 我已经使用宏录制录制了此代码,但在运行此代码时它不起作用。如果有人有任何想法,请指导我

    public void todatagrid()
    {
        string textfile = "text.txt";

        List<string> textvalues = File.ReadAllLines(textfile).ToList();
        datagrid.ItemsSource = textvalues.ToList();

    }

1 个答案:

答案 0 :(得分:0)

.align方法适用于ShapeRange对象,如下所述:https://msdn.microsoft.com/en-us/library/office/ff744992.aspx 宏录制器不能正确记录形状范围,但只考虑最新选择的形状。由于ShapeRange对象中只有1个形状,因此无法将其与其他任何形状对齐。

以下代码通过确保您的ShapeRange对象中同时包含文本框和图表来修复该问题:

Sub Test()
    With ActiveSheet.Shapes.Range(Array("TextBoxNameHere", "ChartNameHere")).
        .Align msoAlignRights, msoFalse
        .Align msoAlignTops, msoFalse
    End With
End Sub

例如,您可能希望更改从选择中获取TextBoxNameHere和ChartNameHere参数的过程,这样您就可以在任何选择的图表+文本框上运行宏。我建议首先阅读VBA编程,看看如何做到这一点。 一些起点的优秀资源是http://www.ozgrid.com/http://www.rondebruin.nl/