我正嘗試創建一個宏,該單元格生成的單元格內圖形可在http://www.juiceanalytics.com/writing/more-on-excel-in-cell-graphing處看到。我對VBA還是比較新的,並且幾乎沒有使用過工作表函數的經驗;這是我迄今爲止所嘗試的。在Excel中使用相對單元格參考的循環REPT函數VBA
如果有人能幫我解決這個問題,那就太好了,因爲我已經抓住了谷歌並找不到任何東西!
Sub GraphsInCell()
Dim inCellBar As String, barData As Long
barData = ActiveSheet.Range("E4:E" & FinalRow).Value
'repeats "|" string based on Column E values in order to
'produce a small in-cell bar
inCellBar = Application.WorksheetFunction.Rept("|", barData)
For Each i In ActiveSheet.Range("F4:F" & FinalRow)
With ActiveSheet.Range("F4:F" & FinalRow)
.Value = inCellBar
End With
Next
End Sub
這是一個較大代碼體的小片段,但其他一切正常。有問題的代碼都在上面。
我基本上需要讓REPT函數將相對單元格中的值用作'number_times'(例如= REPT(「|」,number_times))。任何人都知道如何做到這一點,或者我的代碼片段有什麼問題?
在此先感謝你們。
作爲背景資料,我有一個小桌子與標題,「發件人」,「電子郵件」,「快報」,「傳真」,「總」和「圖形」。 'Total'是前三列的SUM,我希望圖包含REPT函數。真正簡單的設置。
從Lunatik答案,並迪克Kusleika的評論最終代碼樣品低於:
Sub GraphsInCell()
Dim c As Range
Dim TheRange As Range
Set TheRange = Range("E4:E20")
For Each c In TheRange.Cells
If IsNumeric(c.Value) Then
c.Offset(0, 1) = String(c.Value, "|")
End If
Next
End Sub
感謝Lunatik的迴應,您提供了一個運行時錯誤424-樣品對象要求。我還沒有涉及調試,所以我不知道如何解決它。有任何想法嗎? – Kurt 2011-01-06 14:56:34
奇怪的是,在代碼中沒有什麼不尋常的東西,我沒有意識到會拋出一個對象錯誤。如果將代碼粘貼到新工作簿中的空模塊中,是否會發生相同的錯誤?沒有依賴關係,因此它應該在全新的工作簿中工作。 它在哪一行發生錯誤?或者在編譯p代碼時發生錯誤,即不在一行中。 – Lunatik 2011-01-06 15:37:35
對不起,我的電腦死機了。我設法在一個單獨的模塊中測試該代碼段,並且它工作正常。我沒有機會測試錯誤類型,因爲機器已經死機,但沒有突出顯示一條線。我必須再次寫下它,因爲它沒有保存,但同時,你知道它可能是什麼嗎? – Kurt 2011-01-06 17:31:11