iT邦幫忙

0

VBA只複製數字

  • 分享至 

  • xImage

練習寫VBA每分鐘自動紀錄
原先是以下
'Sht1.Range("A" & xRow & ":CZ" & xRow).Value = Sht1.Range("A13:CZ13").Value

而後更改紀錄順序為以下
Sht1.Range("A14:CZ14").InsertShift:=xlDown,CopyOrigin:=xlFormatFromLeftOrAbove
Sht1.Range("A14:CZ14").Value = Sht1.Range("A13:CZ13").Value

變更過後發現會把整個存儲格格式一同複製變動。但是我只複製存儲格的數字要如何修改!

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
Misty0723
iT邦新手 3 級 ‧ 2022-03-07 18:32:47

https://docs.microsoft.com/zh-tw/office/vba/api/excel.range.insert
可以參考這個網址,用ClearFormats方法(但這真的是會什麼格式都沒有,如果你想要有特定格式可以再用複製格式的方法)

0
blanksoul12
iT邦研究生 5 級 ‧ 2022-03-08 08:54:36

把 A13:CZ13 的資料變成 array 再 resize 到下一行(最好不含日期時間)
例如

arr = WorksheetFunction.Transpose(WorksheetFunction.Transpose(Range("A13:CZ13")))
[a1048576].End(xlUp).Offset(1, 0).Resize(1, UBound(arr)) = arr
0
小魚
iT邦大師 1 級 ‧ 2022-03-08 09:06:40

你要的是選擇性貼上嗎? (只有值)

看更多先前的回應...收起先前的回應...
tkoper963 iT邦新手 4 級 ‧ 2022-03-08 10:03:26 檢舉

是的,只有值。因為修改過後連同儲存格底色都會被移動。

tkoper963 iT邦新手 4 級 ‧ 2022-03-08 10:05:26 檢舉

而且我做成股票圖後,發現選取範圍會被隨著記錄移動。

小魚 iT邦大師 1 級 ‧ 2022-03-08 20:50:45 檢舉

Excel有選擇性貼上的功能,
可以只貼值不貼格式

tkoper963 iT邦新手 4 級 ‧ 2022-03-08 21:37:53 檢舉

了解。只是我現在變更用VBA來執行每分鐘紀錄。因為第一段的排列順序我想顛倒過來。

小魚 iT邦大師 1 級 ‧ 2022-03-09 07:57:35 檢舉

Excel可以操作的,
VBA的可以做,
只是你要查一下語法怎麼用.

tkoper963 iT邦新手 4 級 ‧ 2022-03-10 15:36:17 檢舉

還是用失敗.....
原先第一個 "紅框" 因為紀錄順序造成K線圖即時訊號在最左邊而累積往右邊,變成不對稱。
而後修改成第二個 "紅框" 將記錄順序顛倒過來,但是出現K線圖選取範圍會隨著紀錄的增加而變動。
(例如:原先範圍選取B13:F21,每一次往下紀錄就會造成F值+1)
https://ithelp.ithome.com.tw/upload/images/20220310/201151006paWnH85x6.png

我要發表回答

立即登入回答