宏在另一个单元格区域中写入某些单元格字体大小

时间:2015-09-13 09:16:49

标签: excel vba excel-vba

我在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

2 个答案:

答案 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.SizePaste抓取到另一个Range,您就可以执行以下操作:

Worksheets("Sheet 1").Range("A25:H46") = Worksheets("Sheet 1").Range("A1:H22").Font.Size

.Range("A25:H46")可以是Range您希望将Font.Size数据放入哪个.Range("A1:H22") RangeImageButton取回的。

答案 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]
因此,在范围内写作的逻辑并不清楚。由于这些细胞最终将被数据填充。必须有明确说明目标的目标。