我在Excel中有一组值 - 多行中的数字。
我需要Excel VBA代码,将这些值的字体大小写入同一工作表中的其他空行。下面是可以为一行执行此操作并在另一行中写入字体大小的VBA代码。
我需要帮助才能为多行实现相同的结果。
'executes when the user presses the Run button
Private Sub btnRun_Click()
Dim i As Integer
'loops through the cells in row 1
For i = 1 To 8
'gets the font size
Cells(3, i) = Range(Cells(1, i), _
Cells(1, i)).Font.Size
Next i
End Sub
答案 0 :(得分:0)
您声明另一个Integer
变量并在外部For to
循环中运行它。
代码:
'executes when the user presses the Run button
Private Sub btnRun_Click()
Dim i As Integer
Dim k As Integer
'loops through the cells in row 1
for k = 1 to 8
For i = 1 To 8
'gets the font size
Cells(3, i) = Range(Cells(k, i), _
Cells(k, i)).Font.Size
Next i
next k
End Sub
<强>更新强>
要简单地抓取Range
并将Font.Size
和Paste
抓取到另一个Range
,您就可以执行以下操作:
Worksheets("Sheet 1").Range("A25:H46") = Worksheets("Sheet 1").Range("A1:H22").Font.Size
.Range("A25:H46")
可以是Range
您希望将Font.Size
数据放入哪个.Range("A1:H22")
Range
从ImageButton
取回的。
答案 1 :(得分:0)
我不认为你想要的是字体的大小。我觉得你想要的是你选择的行下方的行应该具有相同的字体大小格式。我正在提交另一个程序选择。您可以根据自己的选择更改字体大小,并可以根据您的要求更改行数。请注意,如果您手动输入或在文本编辑器(如Note Pad或Note Tab Light)上粘贴数据,然后在工作表上重新创建,则字体格式仍然有效。如果从其他Excel工作表复制粘贴数据,则格式可能无法保持有效。如果您认为这符合您的要求,则可以将此宏附加到命令按钮。
试试这个:
Sub FontSize()
Dim ws As Worksheet
Dim rng As Range
Dim fnt As Integer
Dim rcnt As Long
fnt = 16 ' Choose any Font size as you like
rcnt = 100 'Choose number of rows to format
Set ws = ActiveSheet
With ws
.Range(Cells(3, 1), Cells(rcnt, 8)).Font.Size = fnt
End With
End Sub
PS:今天参考你的评论在功能区中可以看到字体大小,如下图所示。
[![excel ribbon][1]][1]
因此,在范围内写作的逻辑并不清楚。由于这些细胞最终将被数据填充。必须有明确说明目标的目标。