vba - 创建一个根据 Excel 中用户输入调整大小的表格?

标签 vba input excel

郑重声明,我使用的是 Excel 2010。

我正在尝试自学 VBA,以便在工作中工作(他们给实习生提供 VBA 的东西......),但我却陷入了最简单的事情。

我正在尝试制作一个三列宽的边框表格。表中的行数必须基于用户输入的数量。在我的代码中,这是用户为 Count 指定的值。

我的问题是我不知道如何选择我需要的范围。我知道如何选择范围的唯一方法是使用:

ActiveCell.Range("Top left cell:Bottom right cell").Select

如果是从 A1C8,我该如何实现呢?我希望它能像这样工作:

ActiveCell.Range("A1:C(count)").Select

这是我到目前为止所拥有的:

Option Explicit
Dim Count As Long
Dim CFLArray() As Variant
Sub TableCreation1()
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Time (days)"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "CFL (measured)"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "De (estimated)"
    ActiveCell.Offset(0, -2).Range("A1:C1").Select
    Selection.Font.Bold = True
    ActiveCell.Columns("A:A").EntireColumn.EntireColumn.AutoFit
    ActiveCell.Offset(0,1).Columns("A:A").EntireColumn.EntireColumn.AutoFit
    ActiveCell.Offset(0,2).Columns("A:A").EntireColumn.EntireColumn.AutoFit
    ActiveCell.Select
End Sub

Sub FindRange()
    Range("A2").Select
    Count = InputBox("How many pairs of data do you have? ")
End Sub

大约一天前,我使用工作中的一本书自学了 VBA,但我在其中找不到类似的内容。我的互联网搜索也失败了。最糟糕的是我知道这将非常简单。

最佳答案

就是这么简单!你只是落后了一点点。

更改:ActiveCell.Range("A1:C(count)").Select

至:ActiveCell.Range("A1:C"& count).Select

不过,我在您的代码中没有看到任何 count 变量。

如果您知道它始终是同一列,您可以这样做:

Range("A1:C"& ActiveSheet.Range("C1048576").End(xlUp).Row).Select

(1048576 是 Excel 2010 中的最大行。这可能不适合您的数据,但希望它能让您朝着正确的方向开始...)

此外,正如有关 VBA 的补充一点,在大多数情况下您不需要使用 Select。例如,这个:

Range("A1").Select

ActiveCell.FormulaR1C1 = "Time (days)"

可以更简单地重写为:

Range("A1").FormulaR1C1 = "Time (days)"

如果您只使用文本:

Range("A1").value = "Time (days)"
<小时/>

我还想指出,使用 ActiveCell.Range("A1:C"& count).SelectActiveSheet.Range("A1:C"& count) 不同计数)。选择。根据当前选择的单元格,这些将选择不同的范围。如果您的真正意思是 A1:C8,而不是 A1:C8(相对于当前单元格),那么您需要使用 ActiveSheet >(或省略)版本。

关于vba - 创建一个根据 Excel 中用户输入调整大小的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11363577/

相关文章:

excel替换多行的值

vba - 请参阅使用代号的表

Javascript函数未从输入框获取值并循环遍历数组

java - 扫描仪与 InputStreamReader

C#模仿Excel SLOPE函数

excel - 更新用户表单标签 Worksheet_Calculate 和每次打开用户表单

xml - 如何使用 Excel VBA 导入 XML 数据?

Excel VBA 组合框清除

vba - 通过代码更改连接字符串

Java字符串替换