如何使用范围变量引用工作范围右侧的范围1列?

时间:2019-07-19 12:14:52

标签: excel vba

我需要处理每天变化的一系列单元。我已经决定处理此问题的最佳方法可能是使用InputBox来获取要处理的范围。宏会对数据进行处理,并将其放置在InputBox范围右侧的1列中,但是数据不在相邻的单元格中(如果有所不同)。

我想选择新数据所位于的所选范围右边的单元格1列(这是首选解决方案),并格式化新数据。或者,如果我无法选择范围,则可以选择整个列,然后更改整个列的格式。

我不知道如何提取范围信息以对其进行必要的数学运算,然后使用它来更改新创建的数据的格式。

我提供了代码问题区域的简化示例。

感谢您的帮助。


Sub InputBox_Range_Test()    
    Dim rng As Range
    Set rng = Application.InputBox(Prompt:=PromptString, Type:=8)

    Debug.Print rng.Address

    '
    '*** Needs to select the range that is 
    '*** 1 column to the right of the input range
    '
    Columns(rng).Select 
    Selection.NumberFormat = "0.00%"
    Range("I4").Select
End Sub

1 个答案:

答案 0 :(得分:0)

我终于明白了。我在想错方法。我试图使它变得更加困难。我只需要使用offset属性。

这是我想出的:


私人子CommandButton2_Click()

# make a figure
fig = plt.figure(figsize=(20,10))
ax2 = fig.add_subplot(122)

# color-magnitude diagram (Hess diagram)
im2 = ax2.hexbin(df_cmd['f475w_vega']-df_cmd['f814w_vega'],df_cmd['f475w_vega'], \
                 gridsize=200,cmap=matplotlib.cm.viridis,norm=matplotlib.colors.LogNorm())
ax2.set_xlabel('F475W - F814W',fontsize=15)
ax2.set_ylabel('F475W',fontsize=15)
ax2.set_title('Color-magnitude (Hess) diagram',fontsize=20)
ax2.set_xlim(-1,5)
ax2.set_ylim(28.4,22)

#Error

NameError                                 Traceback (most recent call last)
<ipython-input-36-be39ddc4e09d> in <module>()
      4 
      5 # color-magnitude diagram (Hess diagram)
----> 6 im2 = ax2.hexbin(df_cmd['f475w_vega']-df_cmd['f814w_vega'],df_cmd['f475w_vega'],                  gridsize=200,cmap=matplotlib.cm.viridis,norm=matplotlib.colors.LogNorm())
      7 ax2.set_xlabel('F475W - F814W',fontsize=15)
      8 ax2.set_ylabel('F475W',fontsize=15)


NameError: name 'matplotlib' is not defined```

结束子