小编Bru*_*der的帖子

VBA从Excel中的电子表格中的列表框中获取值

我在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值).这就是为什么我需要在用户完成输入后实时记录选择而不是循环.

当然,我还需要一种方法来检查用户是否删除了之前的选择.

希望你们能帮忙!

excel vba listbox

13
推荐指数
2
解决办法
13万
查看次数

我是否可以仅使用excel的图表格式在月份桶中显示每日数据?

我有每日销售数据,我想在一个简单的线图上绘图.

我希望它们能够在月度展示中展示(例如,如果我在1月1日卖出5欧元,在1月24日卖出10欧元,我希望1月份只能看到一个数据点,其中15欧元).

请注意,我不想使用任何支持公式/ VBA脚本,我想仅使用图表格式来执行此操作.

我尝试将图表的X轴类型设置为"日期轴",我选择"月"作为基本单位.这几乎可以工作,但线图最终变得有些怪异.将图表类型更改为直方图也没有多大帮助.个人销售并没有像我那样"堆积",相反,它们却隐藏在另一个之后.堆叠直方图也不起作用.

关于我如何使用图表格式强制excel来篡改我的数据的任何线索?这不是那么难......

excel formatting charts bucket

9
推荐指数
1
解决办法
6万
查看次数

如何避免在Excel中垂直合并单元格?

我对合并的单元格感到厌倦。他们只是不工作。

因此,当我只需要将文本跨多列居中时,便找到了一种避免水平合并单元格的方法。那是:Range("A1:C1").HorizontalAlignment = xlCenterAcrossSelection

它像一种魅力。这是完美的。这正是我所需要的。

我天真地以为您可以在垂直方向上执行相同的操作,以使文本在多行中居中。类似于:Range("A1:A3").VerticalAlignment = xlCenterAcrossSelection

但是a,那是行不通的。

我是在这里遗漏了什么吗,还是Excel开发人员真的以为,虽然跨列居中是常见的做法,但跨行居中是一个很愚蠢的主意,没人会这样做,所以为什么还要打扰呢?

excel formatting alignment

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

excel ×3

formatting ×2

alignment ×1

bucket ×1

charts ×1

listbox ×1

vba ×1