2012-09-05 164 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