我在Excel工作簿的Sheet1上有一个名为ListBox1的列表框.
每次用户选择列表中的一个项目时,我都需要将其名称复制到名为strLB的变量中.
所以,如果我有Value1,Value2,Value3,Value4并且用户选择了Value1和Value3,我需要我的strLB作为Value1,Value3.非常直截了当.
我尝试用事后做:
For i = 1 To ActiveSheet.ListBoxes("ListBox1").ListCount
If ActiveSheet.ListBoxes("ListBox1").Selected(i) Then strLB = strLB & etc.etc.
Next i
Run Code Online (Sandbox Code Playgroud)
但这非常慢(我的列表框中实际上有15k值).这就是为什么我需要在用户完成输入后实时记录选择而不是循环.
当然,我还需要一种方法来检查用户是否删除了之前的选择.
希望你们能帮忙!
我有每日销售数据,我想在一个简单的线图上绘图.
我希望它们能够在月度展示中展示(例如,如果我在1月1日卖出5欧元,在1月24日卖出10欧元,我希望1月份只能看到一个数据点,其中15欧元).
请注意,我不想使用任何支持公式/ VBA脚本,我想仅使用图表格式来执行此操作.
我尝试将图表的X轴类型设置为"日期轴",我选择"月"作为基本单位.这几乎可以工作,但线图最终变得有些怪异.将图表类型更改为直方图也没有多大帮助.个人销售并没有像我那样"堆积",相反,它们却隐藏在另一个之后.堆叠直方图也不起作用.
关于我如何使用图表格式强制excel来篡改我的数据的任何线索?这不是那么难......
我对合并的单元格感到厌倦。他们只是不工作。
因此,当我只需要将文本跨多列居中时,便找到了一种避免水平合并单元格的方法。那是:Range("A1:C1").HorizontalAlignment = xlCenterAcrossSelection。
它像一种魅力。这是完美的。这正是我所需要的。
我天真地以为您可以在垂直方向上执行相同的操作,以使文本在多行中居中。类似于:Range("A1:A3").VerticalAlignment = xlCenterAcrossSelection。
但是a,那是行不通的。
我是在这里遗漏了什么吗,还是Excel开发人员真的以为,虽然跨列居中是常见的做法,但跨行居中是一个很愚蠢的主意,没人会这样做,所以为什么还要打扰呢?