返回列表 上一主題 發帖

徵求高手幫我解決一下這個問題

徵求高手幫我解決一下這個問題

Sub RecordPrice()
Dim WR As Long
Dim I As Long

WR = Range("A1").End(xlDown).Row + 1
[A2] = TimeValue(Now)
For I = 1 To 42
   Cells(WR, I) = Cells(2, I)
Next 'I
With ActiveWindow
        If Intersect(Cells(WR, "B"), .VisibleRange) Is Nothing Then .SmallScroll 1
    End With
End Sub

以上程式碼如果我要將A1粗體的數字往下寫,Cells(WR, I) = Cells(2, I)這個地方要怎麼改??
目前往下寫粗體就會消失了

本帖最後由 藍天麗池 於 2015-12-27 16:23 編輯

變動記錄.rar (20.51 KB) 回復 1# 藍天麗池


1.目前適用條件格式化的方式處理,但是原先的程式碼往下寫的時候只會寫入值,可以改成往下寫不要以條件格式化的方式出現 ,單純就將字體變粗就好(就像我們將一個儲存格內的字體變粗這樣),這樣可以嗎??
2. 另外,我下面設定的自動捲動,可以改成開關的方式嗎(就是可以用熱鍵開關的方式)??  
謝謝G大,最近上來論壇的人好少,還以為連G大都沒再上來了呢

TOP

回復 1# 藍天麗池
提供參考:
  1.         .[A3].Resize(1, 8).Font.FontStyle = "粗體"
複製代碼

TOP

回復 3# c_c_lai

請問C大這個程式碼要加在哪裡啊??

TOP

回復 4# 藍天麗池
  1. Sub RecordPrice()
  2.     Dim WR As Long

  3.     '  ActiveWindow.ScrollRow = WR - 5 '  只顯示最新幾筆資料
  4.     Application.ScreenUpdating = False

  5.     With Sheets("RTD")
  6.         If .Range("H2") < 1 Then Exit Sub

  7.         WR = Range("A1").End(xlDown).Row + 1
  8.         If (WR = 3) Or _
  9.                 (.Range("G" & WR - 1) <> .Range("G2")) Then  ' 總量有異動時才記錄
  10.             .Rows(3).Insert
  11.             .[A3].Resize(1, 8) = .[A2].Resize(1, 8).Value
  12.             .[A3].Resize(1, 8).Font.FontStyle = "粗體"
  13.         End If
  14.     End With

  15.     Application.ScreenUpdating = True
  16. End Sub
複製代碼

TOP

回復 5# c_c_lai

出現語法錯誤在以下程式碼
If (WR = 3) Or _

                (.Range("G" & WR - 1) <> .Range("G2")) Then  ' 總量有異動時才記錄

另外請教一下C大,我目前在G2有設定格式條件G2>9才變粗體(之後可能還會設定別的條件在第2欄的儲存格),請教一下C大妳的程式碼事都讓所有的數字變粗體,還是只有第二欄變粗體往下寫才變粗體呢??

TOP

本帖最後由 c_c_lai 於 2015-12-29 08:03 編輯

回復 6# 藍天麗池
.

TOP

回復 6# 藍天麗池
  1. If (WR = 3) Or _

  2.                  (.Range("G" & WR - 1) <> .Range("G2")) Then  ' 總量有異動時才記錄
複製代碼
  1. If (WR = 3) Or _
  2.                  (.Range("G" & WR - 1) <> .Range("G2")) Then  ' 總量有異動時才記錄
複製代碼
是個完全不同的敘述,『_』接續的語句後面是不能有空行的,否則會是個「不合法的語法」。
另外你要哪個部位要顯示『粗體』,是你個人自行設定的。範例只是要告訴你設定的方法,
.[A3].Resize(1, 8).Font.FontStyle = "粗體" 是設定該行全為『粗體』,若你只要 G 欄設定為
『粗體』,則便應改成  .[G3].Font.FontStyle = "粗體"。隨你個人之應用。假設 G2 > 9 才變
為粗體,則更改成「 .[G3].Font.FontStyle = IIf(.[G2] > 9, "粗體", "標準")」即可。

TOP

回復 8# c_c_lai


    C大感謝你,另外再跟你請教一下,你目前寫的程式碼在G列變成全部的儲存格都有格式化條件了,可以改成只有G2去做判定,如果大於9往下寫入粗體就好,而不要連同格式化條件一起寫入,這樣可以嗎??

TOP

本帖最後由 c_c_lai 於 2015-12-29 19:00 編輯

回復 9# 藍天麗池
不好意思請問「同格式化條件」指的是甚麼?
能否說明一下,這樣我才知你要的是什麼。
最好有個例子畫葫一下,因為我還沒反應過來。

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題