Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何使用从…到的值作为用户输入?_Vba_Excel - Fatal编程技术网

Vba 如何使用从…到的值作为用户输入?

Vba 如何使用从…到的值作为用户输入?,vba,excel,Vba,Excel,我有一个修改图表布局的代码,使用一个必须修改为用户输入值的图表编号。因为我有很多图表(大约50个),我不想每次输入1个值,而是说修改图表,例如从2到10。请找个人帮忙好吗 Sub Grafici() Dim ws As Worksheet Dim sUserInput As String Set ws = ActiveWorkbook.Sheets("Sheet1") ws.Select sUserInput = InputBox("Enter Numb

我有一个修改图表布局的代码,使用一个必须修改为用户输入值的图表编号。因为我有很多图表(大约50个),我不想每次输入1个值,而是说修改图表,例如从2到10。请找个人帮忙好吗

Sub Grafici()
    Dim ws As Worksheet
    Dim sUserInput As String
    Set ws = ActiveWorkbook.Sheets("Sheet1")
    ws.Select

    sUserInput = InputBox("Enter Number:", "Collect User Input")

    For i = 1 To 7
    On Error Resume Next
    ActiveSheet.ChartObjects("Chart " & sUserInput).Activate
        ActiveChart.SeriesCollection(i).Points(12).MarkerSize = 19
        ActiveChart.SetElement (msoElementDataLabelCenter)
        ActiveChart.SeriesCollection(i).Points(11).DataLabel.Delete
        ActiveChart.SeriesCollection(i).Points(11).MarkerSize = 5
                Next
    End Sub

谢谢

要修改的图表是否总是一个连续的范围(2到10),或者可能是(2,5,7,10)?也可以是两个,也可以是(2,5,7,10)将图表对象设置为变量,而不是使用
activechart
来改进代码。但这不是你问题的答案。这是干什么的<代码>ws。选择我认为您的第一个任务是收集用户的多个输入。使用用户表单,或要求用户以“/”或输入框中的某个符号分隔,或者您可以直接循环事物代码,要求用户在每个周期输入新的输入,直到他们键入“退出”或其他内容。只需使用另一张表,允许用户按图表名称或id输入输入。读取该范围并将其插入图表。这将不会像通过输入框进行迭代用户输入那样痛苦或盲目地使用石头。。。e、 如果在niput集合迭代中出错,那么?全错了。。。