六合开奖结果现场直播欢迎诸位!收藏本站注 册登 陆
常用三肖中特马:基础知识网络知识操作系统WPS网页制作数据库算法网页成功之路网络安全最新技术古典mid流行midmid背景下载中心
您现在的位置:首页 > 三肖中特马 > 文章页

Excel空行自动填充上一单元格的内容

Admin | 2010-3-30 18:59:21 | ReadNums | 13338 | 标签 六合开奖结果现场直播 | 打印本页
     

  如何让Excel自动填充上一行的内容到下面的一个或多个空行中?

  针对这样的问题,您可以使用复制粘贴的办法;但是,本人遇到的问题是,数据量有接近一万行,并且,部分行有内容,部分行去没有内容。

  那么,如此多变的数据,我们如何才能做到,一次性让空的单元格,都分别填充其上方有数据的单元格内容呢?

  我首先VBA,下面,我们先看下表吧!

  认真瞧一瞧,AB两列,间断的或无规律的出现,部分单元格有内容,部分单元格是没有内容的,并且,整个表格的数据量,接近一万行。现在,我们要做的就是,如何让这么多的空单元格,自动填充上其上方有内容的数据呢?

  我们可以这样来做,在表格中增加一个按钮,如下图!假设增加一个标题为“自动填充AB列空的”。

  只要一点击该功能按钮,那么,AB两列所有的空的单元格则自动填上该填写的内容。

  好了,界面就说到这个地方,下面我们直接参阅代码吧!按钮的代码如下:

  Private Sub CommandButton1_Click()
  Dim MyOldValue1 As String
  Dim MyOldValue2 As String
  For i = 1 To Worksheets.Count
      MyOldValue1 = Trim(Worksheets(i).Cells(2, 1).Value)
      MyOldValue2 = Trim(Worksheets(i).Cells(2, 2).Value)
  Next i
  For i = 1 To Worksheets.Count
    For j = 3 To Sheets(i).UsedRange.Rows.Count
        If (Trim(Worksheets(i).Cells(j, 1).Value) = "") Then
           Worksheets(i).Cells(j, 1).Value = MyOldValue1
        Else
           MyOldValue1 = Worksheets(i).Cells(j, 1).Value
        End If
        If (Trim(Worksheets(i).Cells(j, 2).Value) = "") Then
           Worksheets(i).Cells(j, 2).Value = MyOldValue2
        Else
           MyOldValue2 = Worksheets(i).Cells(j, 2).Value
        End If
    Next j
  Next i
  End Sub

  部分代码解释:

  For i = 1 To Worksheets.Count'此自动填充功能,对工作薄中的所有工作表都有效。

  For j = 3 To Sheets(i).UsedRange.Rows.Count'针对每个工作表实现自动填充。


问题未解决:在线咨询

网友评论

(访客)
内容实用原创,讲得很好。
20xx年x月x日
(站长)
有问题请在线咨询。
20xx年x月x日