2012-09-05 166 views
-1

excel tableexcel自定义功能

我有这张表,包含超过6K行。 我需要一个函数,它会在每个“A”列的单元格 上运行,并检查 - >如果“b”上的单元格是粗体而不是复制它,如果不是,则复制上面的单元格。

我在互联网上发布了这个函数,但即使不使用VB,如果有人已经知道如何在Excel中使用VB函数,而不是从头开始学习它,它会更容易。你可以看到,这个代码用数字代替G列单元格。

Sub BoldCells() 
Dim TheRange As Range 
Dim TheCell As Range 
Set TheRange = Range("G1", Range("G65536").End(xlUp)) 
For Each TheCell In TheRange 
If TheCell.Font.Bold = True Then 
TheCell = 7 
Else: TheCell = 0 
End If 
Next TheCell 
End Sub 

帮助将非常感谢,谢谢!

+0

例如,您是否想让A7和A8都具有“移动电话”的价值? – yosukesabai

+0

例如从上面的表格可以看出:如果B1 ==文字粗体比A1 = B1。如果B2 ==文字粗体比A2 = A1; –

+0

嗨米兹,你使用的是什么版本的Excel?另外,您是否只需要一次或重复执行此操作? – PowerUser

回答

2

我不知道这是多高效,但看起来像处理10行左右的数据。

Sub test() 
    Dim rng As Range, str As String 
    Set rng = Range("b1") 
    str = "" 
    Do 
     If rng.Font.Bold Then 
      str = rng.Value 
     End If 
     rng.Offset(0, -1).Value = str 
     Set rng = rng.Offset(1, 0) 
    Loop Until IsEmpty(rng) 
End Sub