匿名使用者
匿名使用者 發問時間: 電腦與網際網路軟體 · 7 年前

EXCEL 矩陣圖畫十字線和交叉線的語法。

http://www.FunP.Net/925750

依據Sample的矩陣圖,以Sheet2!的B欄基數儲存格(請先標示黃色)中心點為基準,

標示出以該儲存格四邊長的邊長/2知欄列距往橫直的二條到極邊之藍色粗直線(即十字線),

另再標示出該儲存格四邊各45度角的二條直線到極角之紅色粗斜線(即交叉線);

並產生各效果檔。

效果檔名稱︰Sheet2!的A欄日期-B欄基數~

A,B欄數字1對1(即A2對應B2;A3對應B3;…;An對應Bn。

工作表名稱︰Sheet2!的B欄基數

詳如附件。

PS︰

不好意思,因為以人工畫線,畫太長就會走樣,所以沒有將4條直線都拉到底,

尚請見諒。謝謝!

請各位先進前輩多多指教!謝謝!

已更新項目:

補充說明︰

即依據基數〔N〕的儲存格的中心點為基準點~

以該儲存格4個角的45度畫二條對角粗紅色交叉線

以該儲存格四個邊畫二條正中的粗藍色十字線,

EX︰假設~

〔N=B2=8526〕,則基準點就在數字(8526〕儲存格(=DC76)的中心點。

〔N=B3=10000〕,則基準點就在數字(10000〕儲存格(=DF11)的中心點。

2 個已更新項目:

Re︰准提大師

http://www.FunP.Net/478363

不好意思,不是畫米字線^^"

是以Sheet2!B2:Bn各基數儲存格的中心點為基準點~

畫出垂直,水平,左右各45度角的交叉線~

共4條〔頭尾都到頂&底〕的直線。

另外請您再將效果檔內的〔工作表名稱〕(Sample)改為(N(=各基數))

謝謝您^^

3 個已更新項目:

Re︰准提大師

全部OK了

恭敬請上答

謝謝您^^

1 個解答

評分
  • 7 年前
    最佳解答

    <參考檔>:

    http://www.funp.net/321137

    正方型的〔米字線〕!

    2014-01-11 18:55:31 補充:

    <參考檔>:

    http://www.funp.net/783722

    再看看!

    2014-01-12 12:03:34 補充:

    EXCEL VBA.以指定儲存格為中心,畫出〔十字.交叉〕延伸線

                             <.准提部林.>

    ---------------------------------

    ■執行效果示意圖:

    圖片參考:http://imgcld.yimg.com/8/n/AB07101627/o/2014011212...

    圖片參考:http://imgcld.yimg.com/8/n/AB07101627/o/2014011212...

     

    ■程式碼:測試用.範圍〔A1:U21],餘請參考範例檔

     Sub TEST1()

     Dim FSht As Worksheet, URng As Range, FRng As Range

     Dim uL, uT, uW, uH, R, C, U1, U2, FCunt, FArea As Range

     FCunt = 21

     Set FSht = ActiveSheet: FSht.Lines.Delete

     Set FRng = ActiveCell

     R = FRng.Row: C = FRng.Column

     If R > FCunt Or C > FCunt Then Exit Sub

     

     Set URng = [A1].Resize(FCunt, FCunt)

     URng.Interior.ColorIndex = xlNone

     FRng.Interior.ColorIndex = 6

     

     U1 = R - 2: If R > C Then U1 = C - 2

     U2 = FCunt - R + 1: If R < C Then U2 = FCunt - C + 1

     Set FArea = Range(FRng(-U1, -U1), FRng(U2, U2))

     uL = FArea.Left: uT = FArea.Top: uW = FArea.Width: uH = FArea.Height

     FSht.Shapes.AddLine(uL, uT, uW + uL, uT + uH).Line.ForeColor.SchemeColor = 4

     

     U1 = FCunt + 1 - R: If U1 > C Then U1 = C

     U2 = FCunt + 1 - C: If U2 > R Then U2 = R

     Set FArea = Range(FRng(U1, 2 - U1), FRng(2 - U2, U2))

     uL = FArea.Left: uT = FArea.Top: uW = FArea.Width: uH = FArea.Height

     FSht.Shapes.AddLine(uL, uT + uH, uW + uL, uT).Line.ForeColor.SchemeColor = 4

     

     uL = FRng.Left + FRng.Width / 2: uT = FRng.Top + FRng.Height / 2

     FSht.Shapes.AddLine(uL, 0, uL, URng.Height).Line.ForeColor.SchemeColor = 2

     FSht.Shapes.AddLine(0, uT, URng.Width, uT).Line.ForeColor.SchemeColor = 2

     

     FSht.Lines.ShapeRange.Line.Weight = 1.5

     End Sub 

    ---------------------------------

    <範例檔>下載:

    檔案名稱:20140111a01(矩陣畫十字交叉線).rar

    下載連結:http://www.funp.net/162659

    ---------------------------------

還有問題?馬上發問,尋求解答。