2015年10月13日 星期二

北斗「中國精度」厘米級挑戰GPS

北斗「中國精度」厘米級挑戰GPS
2015-06-19 11:55 原創 金楠 12條評論
近日,國內導航企業合眾思壯近日宣佈,首個國產星基增強服務系統「中國精度」正式提供服務,並面向全球同步發佈,借助「中國精度」。

這意味著,中國北斗用戶在無需架設基站的情況下,可以在全球任一地點享受厘米級的高精度增強服務。
合眾思壯介紹說,「中國精度」是中國首家覆蓋全球運營的星基增強服務系統,該系統於2013年底提出建設,具有全部自主知識產權和全部控制權,不僅打破國際企業的技術壟斷和封鎖,保障國家地理空間信息的安全性和自主權,還彌補了我國衛星導航產業的技術空白。

和之前北斗高精度手機面世的消息時所引發的大量關注一樣,「中國精度」也背負著滿滿的驕傲、自豪和強國夢,然而,厘米級的定位是如何實現的?它的現實意義又有哪些呢?

為什麼我們興奮於「厘米定位」?

想回答這個問題,需要先對「中國精度」所基於的北斗導航系統的定位原理做個簡單介紹,而提到北斗,自然也就少不了拿導航和定位技術的先驅GPS做比照。

先來說說GPS的定位原理,GPS系統主要由三部分組成,分別是空間星座(21 顆工作衛星和 3 顆備用衛星)、地面監控系統以及終端設備(GPS接收器)——24顆衛星均勻分佈在 6 個軌道平面上,然後通過將軌道面設定成特定角度,保證了全球任何地點、時間和接收器都能夠接收到4顆衛星的信號。

值得一提的是,GPS誕生之初即被設計成單向傳輸的定位系統,即終端只接受而不對外發送信號,而這就牽扯到了一個問題,因為衛星只會播報自己的位置,而GPS又只能接收衛星數據,那麼用戶位置是如何在過程中被確定的?這時候就需要利用終端設備從從GPS衛星收到信號並利用傳來的信息,去計算出用戶的三維位置及時間。而計算工作的主要仰仗,就是GPS芯片與原子鐘。

GPS芯片的核心作用是讀懂衛星發來的信息並進行相關運算,而原子鐘則是為了保證時間的精度。
因為衛星播報自己位置時,會附上信息發出的時間,終端設備在接收到信息後,再用當前時間減去發送時間後再乘以光速,最終得出終端與衛星的距離。而即便是再微小的誤差,因為需要乘以光速,最終的結果亦都會差之千里,因此,原子鐘在定位系統就顯得極其重要。

而北斗導航系統和GPS大致上相似,其是由分別對應GPS三大組成部分的空間段、地面段和用戶段三部分組成。其中,北斗導航系統的空間段(計劃)由35 顆衛星組成,其中包括 5 顆靜止軌道衛星、27 顆中地球軌道衛星和3 顆傾斜同步軌道衛星,而之所以北斗比GPS多出了11顆衛星,則是出於衛星分佈方式不同、工程週期以及滿足其「有源接收」功能等因素所致。



這裡需要明確的是,第一代北斗導航系統的定位原理屬於有源定位,可靠性較差,而現在的第二代北斗導航系統已採用了類GPS的無源定位技術。

而因為有著衛星數量上的優勢,加上「有源接收」和「短報文傳訊」等GPS所不具備的功能,北斗導航系統在定位信號、精度以及易用性上都有一定的優勢,這也是其能夠快速追趕GPS的主因。
而解釋完了導航技術的原理,也就不難理解,厘米級定位其實就是定位精度上取得突破的體現,而定位精度越高,其所能適用於的領域也就越廣,實際價值也就越大。

厘米級定位是怎麼實現的?

從技術上看,北斗系統之所以能實現從米級到厘米級的進步,「地基增強網」這一系統起到了關鍵作用。
所謂「地基增強網」系統,是一套兼容北斗、GPS、GLONASS等導航定位系統的綜合性服務系統,由一系列地面衛星基準站組成,通過接收和處理移動通信、數字廣播、衛星等播發手段及相應接收終端來提高定位精度。

而很多人可能無法理解厘米級定位是個什麼概念?舉個例子來說,當我們在看好萊塢大片時,看到那種飛機投射炮彈精準射進大樓中的某個房間裡,甚至是工廠裡的一個煙囪孔中,所依靠的就是厘米級甚至是更精準的定位技術所實現的。

而除了戰爭和國防領域之外,包括精細農業、災害監測、土地水利、智能電網、移動通信等方面,厘米級定位技術也大有可為,比如智慧城市中的關鍵環節——交通,在有了厘米級技術之後,就能在地圖上完全顯示實際行走路線,對重點運營車輛、工程車輛、大貨車、校車等進行精確監控,對非法超車等行為進行實時智能化監管等等。

再比如,將定位技術和信息與氣象、環保、城建等互聯起來之後,當某地的建築物發生沉降或變形,北斗系統也能快速偵測到傳感器的偏移和變化,從而自動報警,類似的方案還可以應用於醫療急救等領域。

有了厘米級定位還不夠,北斗挑戰GPS還道阻且長

然而,雖然北斗在實現了厘米級定位之後,於精度上與GPS已經差距不大,但這並不意味著前者就有了挑戰後者的資本。首先,上文提到厘米級定位的主要實現方式是依靠「地基增強網」來實現的,但是地面基準站的選址和建設是有限制的,不可能多快,也不可能多普遍的覆蓋,而這麼一來,北斗系統的精度相比GPS來說,實際中優勢體現的也就有限了。

而且,北斗系統的起步時間太晚,目前市占率只在1%左右,即便有著雙向通信的獨有技術優勢以及較好的性價比,但想要彎道超車卻很難,因為技術上的落後是難以逾越的,比如上文提到的GPS芯片,早前就有統計指出中國衛星導航芯片市場高達95%的已被美國GPS芯片佔領,而國內大部分企業不具備研發此類多模導航芯片的能力已經成為了北斗衛星導航應用產業化的重大瓶頸之一,如果不解決這個問題,我國的導航芯片產業將繼續在低產品附加值狀態徘徊,實現北斗加GPS導航逐漸替代美國GPS導航的規劃也將步履艱難——而這就是後來者的無奈。

不過反過來說,北斗系統起步至今時間還很短,遠不比GPS的20多年時間,而且相比較俄羅斯的Glonass和歐洲的Galileo來說,北斗系統的優勢還是不小的。更重要的是,它是我國自主控制的,也就是說在這個領域中,中國已經無懼美國的壟斷——要知道,美國曾在海灣戰爭時置歐洲盟國於不顧而強行關閉對歐GPS服務,而在現代戰爭中,如果失去了對定位系統的掌握,那麼也就基本意味著是任人宰割。

孫子曰:兵者,國之大事,死生之地,存亡之道,不可不察也。
這也就是為什麼說,以「中國精度」為首的一系列工程與項目的建設,既是企業需求,也是產業需求,更是國家需求的緣故。

中國北斗衛星導航系統為何令美國恨之入骨?

轉貼 http://www.app01.com.tw/paper/23a95d64-12c2-494c-bb2a-3fb5b7c032f6

【編者按】近日,北斗“中國精度”背負著滿滿的驕傲、自豪和強國夢挑戰GPS,此前專欄已有文章進行了分析:北斗“中國精度”厘米級挑戰GPS 。此文作者從自身專業出發,梳理出了更加清晰全面的科普長文,讀完此文,或許你會更加了解——中國北斗衛星導航系統為何會令美國恨之入骨?
國際上有一個高大上的俱樂部,它只有四個會員,卻吸引了各國首腦的關注和眾多頂級科學家工程師的研究,這個俱樂部就是GNSS(全球導航衛星系統),四個會員分別是美國GPS、歐洲伽利略GALILEO、俄羅斯格洛納斯GLONASS、中國北斗COMPASS。
中國北斗是個新會員,同時也是發展勢頭最猛的會員,北斗是咋回事?對我們的生活有什么影響?這是一個很有意思的話題。關于北斗,學術期刊上的文章有很多了,但專業文章的術語太多,普通人讀不懂,而且也不會有興趣去讀。
媒體和網絡上也有一些介紹性的文章,多數是彰顯政府成就的宣傳稿,內容比較零散,不便于讀者全面了解,而且很多文章的說法并不準確,顯然是非專業人士寫的。科技報道不是由科技人士撰寫,而是文科出身的記者捉筆,這種現象是國內科技報道的痼疾。
因為專業的原因,我一直關注著北斗,而且多年通信專業基礎課的教學實踐,培養了我將復雜的專業問題用通俗的語言描述出來的特長。我利用了兩個月的業余時間,查閱了大量公開發行的資料,梳理出了這篇全面介紹北斗衛星的科普長文。
1、從GPS說起
1957 年10月4日,蘇聯發射了全世界第一顆人造地球衛星,開創了人類的空間世紀。美國對此密切關注,有一位名叫比爾.蓋伊和數學家和一位叫喬治.威芬巴赫的物 理學家,他們在霍普斯金的應用物理實驗室里發現了一個現象,那就是這顆衛星的頻率出現了偏移,經研究發現是相對運動引起的多普勒頻移效應。
這兩位科學家對此進行了實驗研究,發現如果在地面上架設多部接收機,就可以根據接收到的信號的不同頻差推算出這個衛星的具體位置,他們很高興地把這個研究成果告訴了實驗室主任弗蘭克.麥克盧爾,說他們已經實現了對蘇聯衛星的多普勒定位跟蹤。
弗蘭克主任當時在做海軍的一項研究,研究內容是五角大樓如何知道茫茫大海中軍艦的具體位置,聽到兩位科學家的匯報后他眼前一亮,既然你們能夠發現衛星在哪里,如果把問題反過來,衛星就能發現你們在哪里,海軍軍艦定位的問題有思路了!
GPS系統就按這種思路啟動了,方案中需要解決的第一個問題就是:衛星該采用低、中、高哪種軌道?如果采用低軌道的話,發射成本比較低,精度比較高,但若覆蓋全球的話則需要200顆衛星,這樣浩大工程實在是負擔不起。
如果采用高軌道,理論上三顆衛星就能覆蓋全球,但除了高軌道衛星的發射難度大之外,更主要的是定位精度會很低,原因有兩個:一是軌道太高會導致測量誤差大,二是靜止軌道與地面物體的相對速度很小,不利于使用多普勒頻移的解算方法。
中軌道是比較折衷的方案,覆蓋全球只需要24-36顆衛星,由于軌道是運動的,即使地面的物體不動,但相對衛星的速度也很大,這就可以充分利用多普勒頻移方法了。
基于以上綜合考慮,美國選擇了24顆衛星的中軌道星座,1978年發射了第一顆,全系統在1995年投入運行,現有衛星30顆,分為軍用和民用兩種定位模式,其中民用方式向全球開放。
2、美國是不是活雷鋒?
GPS是個好東西,對人們生活品質的提升相當大,例如汽車和手機導航就非常重要,人們告別了在紙制地圖上找路的歷史。GPS對于探險航海就更重要了,關鍵時刻可以救命。這么好的東西,美國又投入了巨資,居然向全世界免費,難道美國政府是活雷鋒?
其實即使GPS不免費那也收不上來錢,為啥這樣說呢?因為GPS是單向通信體制,這跟廣播電視塔類似。廣播電視塔大家都知道,它只管發射信號,到底有1個收 音機聽還是1萬個收音機聽,廣播電視塔是不知道的,GPS系統也是如此,30顆衛星只管不停地向地面發信號,具體是誰在接收并使用這些信號,它是根本不知 情的,既然不知情,那還怎樣收錢?
通過售賣高價解碼芯片來收錢行不行?答案是不行,因為GPS采用的是只發不收的單向通信機制,這對加密傳輸來說是先天的障礙,即使搞了加密,沒幾天就會被破解了,尤其是民碼還要求簡單易用,接收設備要求成本低廉,這對加密來說就更加困難了。
如果GPS免費,則一定會在全球形成巨大的市場,依托這套系統會產生新的國際性產業,同時會形成一股強大的國家軟實力,所以說GPS免費是符合美國國家利益的。
GPS 免費對全世界的民生來說是個福利,但在軍事方面卻是個挑戰,美國敵對國家的軍機戰艦上當然也可以安裝,美國人也禁止不了,這對美國是不是一個威脅呢?其實 GPS開放的只是民碼,精度比美國軍方使用的軍碼差了十倍,先天就挫了一大截。更重要的是,萬一跟美國打起了仗,人家把GPS民碼給你一停,你已經很依賴 GPS了,甚至連指南針都丟了,這可就抓瞎了。如果美國不給你停GPS,而是發個欺騙碼,瞄準美國的導彈就可能飛到自己的陣地上,這更加可怕。
所以說,他國的軍備絕不能使用美國的GPS,一旦形成依賴就會像吸毒者一樣無法自拔,必須要發展本國的定位導航系統。當然,發展本國的定位導航系統也只是少 數大國的權利,至于泰國墨西哥等小國家其實是不必操這個心的,因為全球定位導航系統實在是太浩大,綜合國力微弱的小國家們根本就造不起,還是老老實實地繼 續用GPS吧,這倒也省心。
3、北斗一代的由來
中國是個有抱負的大國,在定位導航衛星這事上可不能圖省心,實際上從上個 世紀70年代就已經開始鬧心了,七五規劃中提出了“新四星”計劃,隨后提出過單星、雙星、三星、三到五顆星的區域性系統方案,以及多星的全球系統設想。研究、論證、再研究、再論證……從來就沒有停止過。
80年代初期,以“兩彈一星”元勛成芳允院士為首的專家團體提出了雙星定位方案,這是當 時公認的最優方案,但因經濟條件等種種原因又擱置了十年。1991年是個重大轉折點,海灣戰爭把中國人打醒了,美國的GPS在作戰中的應用非常成功,決策 層深刻意識到以后打仗沒這東西是真的不行,被擱置十年的雙星定位方案于是馬上啟動。
為啥不像美國那樣搞30顆衛星的系統呢?當時的國情是 又沒經驗又沒錢,剛起步可得悠著點,從小打小鬧開始吧,上來就玩大的容易搞砸鍋。一定會有網友問,在空間中三個坐標才能定位,兩顆衛星不夠用啊?這是個好 問題,雙星定位方案中有個高度儀,用戶需要自測高程,并將結果作為第三個坐標,這就好比是在地球中心裝了一個虛擬的衛星,這就實現了三星定位。那為什么不 干脆發射三顆衛星呢?原因很簡單,高度儀很便宜,這個方案更省錢。
只有兩顆星,當然不能像美國GPS那樣搞中軌道的,軌道低了覆蓋面就小,兩顆中軌道衛星多數時間會在中國上空以外的地方飛行,那中國大陸還咋用呢?因此只能搞高軌道的,而且還得是靜止的,這樣才能妥妥地停在中國大陸的上空。
靜止高軌道是雙星定位的必須選擇,從技術上講這毫無疑問是正確的,但卻埋下了性能不強的隱患,這就是要談的下一個問題,北斗一代被詬病。
4、北斗一代被詬病
MH370 失聯后出現了很多科普,令公眾熟悉了多普勒效應這個名詞,那多普勒效應對衛星來說到底是好事還是壞事呢?這要看是哪一種衛星,多普勒效應對導航定位衛星來 說是好事,因為衛星相對地面物體被測物體的相對速度越大,多普勒效應越明顯,定位就會更加準確,這甚至是定位導航衛星的核心原理基礎。
但是,多普勒效應對通信衛星來說就是壞事了,因為頻率偏移會導致通信失敗,必須得做修正。例如位于印度洋上空的亞太國際通信衛星就是相對地面固定的,失聯的 MH370在最后階段發出的7次探尋信號被這顆衛星測出了頻率偏移,這本來是要被修正掉的數據,沒想到這卻成了推測飛機航跡的唯一證據。用一句話總結就 是:用通信衛星干了定位衛星的活,把本來是壞事的多普勒效應變成了好事。
既然中國的這兩顆衛星是靜止軌道的,自然可以與國際通信衛星一樣完成通信任務,于是既能定位又能通信就被設計成為了北斗一代的技術特點,而GPS等其它定位導航系統都是不支持通信功能的。
美國GPS不具備北斗這樣的通信功能,這真不能說人家技術落后,因為人家的衛星系統是各司其職的,定位衛星和通信衛星兩套系統的性能都很優異。而中國北斗一代是身兼兩職,聽起來功能更加全面,其實是中國把定位衛星打到了通信衛星的軌道上,自然能收獲了通信這個副業。
畢竟定位才是北斗一代的主業,大部分的信道資源都必須讓給定位數據的傳送,所以留給通信的信道資源就很少,它無法完成實時的話音通信,只能完成短信功能。
由于這兩顆星的軌道很高,導致了地面被測物體與衛星的相對速度很低,于是多普勒效應就不明顯,其定位精度自然遠遠比不過GPS。因此雖然官方宣傳的北斗一代 既能通信又能定位是獨特優勢,其實是通信功能比國際海事衛星差得多,定位功能比GPS衛星差得多,通信和定位雖說啥都能干,但啥性能都不行。
平心而論,北斗一代已經達到了設計指標,工程是非常成功的,畢竟就只有兩顆星嘛,咋能跟幾十顆的海事通信衛星和GPS衛星相比呢,好比是你花了800塊買了部雙卡雙待的山寨機,罵它不如蘋果手機好,這其實并不公平。
不妨做個假設,假如沒有國際海事衛星和GPS衛星的話,那既能定位又能通信的北斗一代就是光芒四射的,但問題是北斗一代問世時,這兩種衛星系統已經相當成熟 了,在它們的對比之下,北斗一代簡直就是一坨翔,而且是國家花了大價錢造出的一坨翔,當然是各種被罵,研發人員們灰頭土臉不敢吭氣。
5、與伽利略計劃的姻緣
北斗一代的使用體驗比較差,那該咋往下走呢?這時中國看上了歐洲的伽利略計劃,這是歐洲國家聯合搞的全球定位導航衛星系統計劃,因為這個項目實在是太燒錢,歐洲單個國家誰都搞不起,但又不能不搞,雖然歐洲國家跟美國關系很好,但也不能把國家安全都系在美國政府身上。
歐洲有技術但缺錢,于是他們瞄上了土豪中國,中國正因為北斗一代不給力而發愁呢,自然是一拍即合,據報道稱中國加入了伽利略技術,并且很大方的拍了兩個億的 入伙費。但中國越來越覺得不對勁,歐洲居然把日本和印度也拉入伙了,他們出的錢少但權利不少,這不是把中國當作冤大頭了嗎?多出點錢倒不是問題,關鍵在于 這兩個國家本來是我們在軍事上要防備的,難道要跟他們在國防方面使用相同的系統?中國發現苗頭不對,下定決心后就咔嚓地退出了,退出后自己單干,開始發展 北斗二代。
北斗二代計劃在2020年前發射35顆衛星,形成全球性的定位導航系統,比GPS還多5顆。多出的這5顆是在赤道上空的靜止高軌道衛星,主要是完成短信任務的,其它30顆跟美國GPS的30顆一樣,都是中軌道的運動衛星。
北斗二代的規模與GPS相當,申請的軌道和頻率與歐洲伽利略比較一致,這就不可避免地遇到了衛星軌道和頻率爭奪的問題。衛星軌道和空間頻率是人類共有的資源,那該如何分配呢?國際規則是既不按國家來分,也不按人口來分,而是誰先占了算誰的。
先占先得的原則是西方發達國家制定的,他們認為這是各國都有同樣機會的公平原則,理由是:你有本事你也打衛星啊,我又沒攔著你,你不打是你自己的事,如果你 永遠不打,難道說軌道和頻率還要永遠給你留著?這聽起來也有道理,更關鍵的是,即使你覺得沒道理,你也沒能力阻止發達國家占軌道和頻率。
2005年伽利略計劃的第一顆衛星上天了,但并沒有開通,只是占了軌道但沒占頻率,為啥沒開通呢?原因是沒錢,開通需要花錢的,歐洲手頭有點緊。中國北斗二代的第一顆星也隨后上天了,而且上去就開通了,這下就把軌道和頻率都占上了,這為啥呢?這是因為中國政府不差錢。
歐洲伽利略那邊慢悠悠地搗鼓,而中國這邊的北斗一個接一個地不停打衛星,后來還搞起了一箭雙星,而伽利略計劃和北斗二代有些頻率是重合的,雙方都在國際電信 聯盟組織備案了,誰先占上就算誰的,中國的快節奏把歐洲搞急眼了,通過美國給中國施壓,要求中國放慢腳步等等歐洲人民。
以前歐美國家憑借技術和經濟優勢搶占資源,中國技術和經濟不給力只能吃啞巴虧,你們從來就沒謙讓過,現在憑什么要我謙讓?中國不理會歐美的抗議,按既定的節奏繼續打衛星。
6、亞太地區組網
雖然現在還沒有把35顆衛星打全,但亞太地區的北斗二代定位導航網絡已經建起來了,并已投入了使用。GPS和北斗的中軌道運動衛星都是30顆,它們各在太空 上織就了一張網,GPS網眼最密處是在美國上空,北斗二代網眼最密處在中國上空,為本土提供服務是第一要務,這個道理當然很好理解。加拿大和墨西哥當然會 選擇GPS,而對于亞太國家來說,北斗卻比GPS更有優勢。
亞太國家認識到了北斗的覆蓋優勢,中國政府也積極推動北斗二代在亞太地區的應用,于是泰國、馬來西亞、文萊、印度尼西亞、柬埔寨、老撾等國家派出了19名專家,于2014年7月來到中國考察北斗二代,研究討論合作的事項。
第 一站去的是武漢光谷北斗集團,參觀了中國最大的遙感衛星地面接收站,第二站去的是黃石,參觀了建設中的中國-東盟北斗示范城,第三站參觀了北斗地球空間產 業國際學院,第四站是參加“2014北斗技術與應用國際培訓班”,在兩院院士李德仁領銜的武漢大學測繪遙感國家生點實驗室里連續學習了半個月。
行程安排是很講究的,先帶他們參觀,行程非常密集不容你思想懈怠,一處更比一處高端大氣上檔次的北斗產業園區,令他們的眼睛瞪得越來越大,在內心受到了震撼后,再由國際知名科學家李德仁院士親自授課,解答你國使用北斗的所有疑問,順便收獲了這些東盟專家的膝蓋。
泰國專家表示,有些GPS衛星的信號泰國收不到,而北斗所有的衛星信號都能接收到,當然要參加北斗的“天眼”計劃,而且泰國現在已建成了首批CORS(連續運行衛星定位服務綜合系統)。馬來西亞緊隨其后,將成為北斗“天眼”的下一個落戶的國家。
7、在漁業的應用
北斗的首次成功應用是2008年5月12日的汶川地震,甭看我們平時的通信非常方便,電話、短信、互聯網等手段很多,但其實都是高度依賴光纖和基站的,當這 些基礎設施遭到大面積損壞時,你會發現QQ、微信、微博、短信…..所有平時很方便的通信手段全都完蛋了,除了靠吼之外簡直就沒有一點辦法。
那時候北斗還是一代系統,雖然因為性能指標比不過GPS和海事衛星而被罵出了翔,但北斗一代在地震時卻發揮出了不受地面影響的優勢,它的定位和短信能力充分 發揮了作用,成為了救援指揮部隊和前線救援人員最得力的通信助手,最大限度地保證了“72小時黃金搶救時間”的有效利用,彰顯了北斗服務民生的技術優勢。
遠洋漁業是個充滿危險的行當,遇到風險時能得到及時得到救助非常重要,再節省的漁民都會備齊兩樣電子設備,一是GPS二是海事衛星電話,以便遇到風險時能及時求助。
遇到風險需要求救,首先要用GPS定好位,然后用海事衛星電話通知岸上的救援隊,告訴他們我遇險的GPS坐標,以便他們來救我。當然也有用電臺的,但電臺的 可靠性不如海事衛星電話,生死攸關時通不上可就抓瞎了。但是,養一部海事衛星電話是很貴的,但為了關鍵時刻救命又不敢不養,很多漁民對此很糾結。
北斗二代在亞太地區布網后,漁民有了一個新選擇,那就是裝北斗衛星船載終端,北斗的雙向短信功能在漁船救險方面得到了完美應用,遇到險情后一鍵求救,終端會自動把附帶著定位信息的求救短信通過衛星發給岸上的救援隊,實現了GPS+海事衛星電話的功能,而且更加方便。
那這個終端貴嗎?政府大力推廣,將之列為安全機械設備,享受農機補貼政策,政府額外拿出了1個億,免費為遼寧、山東、浙江、海南的1萬艘漁船安裝的北斗終端,后續再安裝的直接補貼九成,漁民只需要象征性的出一成的錢就可以安裝。
海事衛星電話很貴,那北斗衛星短信貴不貴呢?答案是一條三毛!這是有史以來最便宜的衛星短信了,為啥這么便宜,有政府補貼唄,其實根本就沒考慮成本,收費是象征性的。本來有專家建議免費,但怕漁民們沒事就發段子,過于浪費衛星信道資源,干脆就定一條三毛吧。
北斗衛星的短信功能非常受歡迎,根據浙江省2011年的統計,浙江漁民利用北斗衛星發短信1300萬條,其中船與船互通604萬條,船與手機互通696萬條。
漁業省份在岸上大建基于北斗二代的漁業信息服務基礎設施,通過衛星給漁船發送實時的天氣、海浪、赤潮、魚汛消息,甚至還有當日漁市價格,幫助漁民決定捕撈哪種魚,漁民在海上就可以把漁獲信息傳到岸上,提前聯系好了賣家。
8、“兩客一危”與地基增強系統
“兩客一危”指的是從事道路班線客運、旅行包車、危險貨物運輸車,這些都必須安裝電子定位裝置,并將運行信息及時接入到全國的聯網聯控系統中。在交通管理部門的監控大屏幕上,車輛的運動狀態一目了然,超速闖禁行等違規駕駛行為會自動報警,這是一項保護人民生命安全的法規。
“兩客一危”的范圍還在擴展,警車、公務車、校車也正在被納入到衛星定位監控系統之中,不僅僅是為了行車安全,還要監控公車私用,車輛行駛路線清清楚楚,數據妥妥地存在數據庫里,由不得司機遮掩狡辯。
這種對特種車輛的衛星監控,以前要求使用GPS,現在被政府明令要求必須使用北斗二代。有些人為此質疑過政府,以前基于GPS的系統本來就能完成任務,現在為了推廣國產北斗就來硬的,這不是勞民傷財嗎?
這真不是功民傷財,而是有著長遠規劃的必要措施。中國正在籌劃搞北斗二代的地基增強系統,在路燈桿、信號塔等地方架設北斗設備,形成北斗的地基增強系統,與天基的衛星相互配合,可達到米級以下的實時定位精度。
北斗二代的天基系統和地基系統一旦成功結合,那大貨車就再也不敢長期占用超車道了,而以前的GPS定位精度是10米,是無法區分車道的。給孩子戴的定位手表會更加精準和靈敏,定位信息不再是“在某地附近”,而是精確到孩子站在哪塊地板磚上。
地基增強系統是要與天基系統密切配合的,如果把這個遍及全國的國字號系統搭建在美國GPS的基礎之上,那萬一人家收費了呢?或者把底層數據屏蔽了,那我們就被會卡了脖子。我們已經有了完全自主產權的北斗二代,自家的地基增強系統當然要跟自家的北斗二代配對。
9、形變監測與自動駕考
北斗二代的用途非常非常多,據統計有200多項,例如有一項就是形變監測,專門對水壩、大橋、高速公路等巨大建設物的沉降和變形做測量。網友們一定會疑問,北斗與GPS的精度都是10米,咋能搞如此細致的活計呢?這源于差分算法技術。
任何測量都是會有誤差的,而把多次測量后的結果統計平均,就會有效地減少誤差。衛星定位的差分算法也是這個道理,一次定位的精度是10米,但把成千上萬次的定位數據進行合并處理,就有可能得到更加精準的結果,甚至精確到毫米以下。
很顯然,測量的次數越多和時間越長則精度就越高,而建筑物的沉降和變形是緩慢的,正好可以利用這些特點來進行高精度測量。把北斗設備固定在建筑特上面,令它 自動地接收定位信息,攢足了一個月的海量定位數據后進行差分計算,精度在毫米以下的定位數據就算出來了,這比人工測量方便和準確的多。
很多偏遠監測點是沒有手機信號的,基于GPS的形變監測必須得人工采集,而使用北斗進行形變監測還有個好處就是數據可以直接通過北斗短信功能傳回基地,給它安個太陽能板就齊活了,定位、差分解算、數據回傳全部自動化。
在地面設施的配合下,北斗的實時定位精度已經遠遠高于GPS,現在已經達到了80公里/小時情況下2厘米的精度,這就給另一種業務提供了技術手段,那就是基于北斗二代系統的無考官駕考。
現在的倒車入庫等駕考項目已經有電子監控了,壓線就會報警,但路考還得有考官。以后的全部駕駛課目考試可能被北斗系統全面取代,在考試車上安裝北斗接收機,無論是倒庫還是路考,系統都會精確實時記錄車輛軌跡,并自動評分,會比考官更嚴格和公正。
10、北斗二代的政府推廣
北斗二代是國字號工程,政府當然會推廣,但推廣的路子跟以前很不一樣了。大約七八年前吧,手機上有了Wi-Fi功能,而中國政府覺得這個技術標準不好,于是 推出了國家自主知識產權的WAPI標準,試圖以此取代Wi-Fi。其實并不是只有中國這么干,韓國也推出了自己的技術標準并抵制Wi-Fi。
Wi- Fi技術簡潔便于推廣,這也是它風靡全球的重要原因,但它也有死穴,那就是單向的安全機制并不可靠。前陣子3.15晚會上有帶眼罩的網絡安全人員現場表演 了劫持觀眾手機信息,媒體也經常刊登手機用戶接入免費Wi-Fi導致損失的報道,這都是Wi-Fi先天技術缺陷所致。
中國的WAPI標準 是雙向安全認證的,的確比Wi-Fi更安全,政府為了推廣它而把行貨手機的Wi-Fi功能閹割了,想要Wi-Fi功能的話只能買水貨手機。此舉引來很多人 的不滿,但最終也沒擋著Wi-Fi的流行,后來就低調放開了,行貨手機上也有了Wi-Fi,而WAPI并沒有推廣開,現在只是在軍隊等有保密要求的場所使 用。韓國政府抵制Wi-Fi的行動也同樣地失敗了。
中國政府在推廣北斗二代方面顯然有了新的思路,不再用行政力量去限制其競爭技術了,而 是采用免費或補助的方式來利誘,事實證明這招更加有效。例如漁船安裝北斗設備,政府并不禁止漁民繼續使用GPS和海事衛星電話,而在給北斗設備提供大量補 助,衛星短信也只是象征性地收費,明顯北斗方案更劃算,漁民當然會裝北斗而棄用GPS和海事衛星電話。
北斗二代有200多項應用,需要全 社會的高科技企業去研究開發,不斷提供更好的北斗產品,這樣才能把北斗產業做大做強。中國已經有了不少搞定位導航的高科技企業,它們大多是搞GPS起家 的,政府的科技部門請這些老總來開會,領導講話言簡意賅:歡迎各位繼續搞GPS的研究開發,政府絕不會限制和干擾,但如果搞北斗二代項目的話,會享受高科 技企業的免稅政策,還會從某處得到支持資金。
北斗二代的技術體制與GPS差不多,由GPS轉向北斗并不難,政府劃下道了,企業老總都是人 精,紛紛表態要改道搞北斗項目,政府的錢不拿白不拿。被請來開會的還有高校教授,領導又說了,政府有一筆北斗科研的經費,歡迎教授們來立項,教授們也紛紛 表示要申請北斗科研項目,誰忒么還傻乎乎地繼續研究GPS啊,美國政府又不給錢。
領導又說了,企業有資金設備的優勢,高校有人材技術的優 勢,不如強強聯手,把教授帶的研究生放在企業去做北斗科研,由企業出場地出設備出資金,研究生搞出的成果除了供他們畢業拿學位,還可作為該企業的技術創 新。企業老總和高校教授都覺得這個主意不錯,于是在政府牽線下紛紛結起了對子,領導管這個叫作北斗產業推廣聯盟。
政府推廣新產業的路子變了,不再像推WAPI那樣強行閹割Wi-Fi了,而是使用了利益杠桿,企業老總和高校教授都得了利,政府出面組建了產業聯盟也是政績,三方都很高興。
11、國際電信聯盟
標準規范是電信業的第一要務,國際電信聯盟就是負責制定國際電信規則和標準的國際組織,在信息化時代它的的地位越來越重要。國際電信聯盟正在制定5G的關鍵 技術、頻率范圍和技術標準,這是一件影響到全球電信業發展的大事。除此之外,它還接收各國的衛星軌道和頻率的申請,并進行備案和審批,這個國際組織具有非 常重大的影響力。
20多年前中國政府選拔了一名優秀的通信專業人士到國際電信聯盟工作,他數十年如一日地勤懇工作,業績斐然受人尊重,并一直干到了副秘書長的職位,并在新一屆選舉中成功地當選了秘書長,他就是下圖中間的趙厚麟。
趙 厚麟2015年1月1日正式上任國際電信聯盟秘書長,1月26日就被李克強接見了,公開報道的都是官樣套話,什么國際電信聯盟會支持中國的信息化發展啥 的,但李總理會見他肯定不是為了說幾句客套話,想必是有事要交代,據我猜測最有可能的是要求趙厚麟在兩件事上大力支持中國,一是5G二是北斗。
趙厚麟雖然是中國人,但他所在的組織是為全世界服務的,在國際電信聯盟官方網站的領導人介紹中,他們的履歷沒有國籍這一項,有的只是出生地,趙的出生地是江蘇。
有個江蘇人在統管衛星軌道和頻率的國際組織當一把手,即使我們不走后門不要特權,起碼也不會像以前那樣吃啞巴虧了,這當然是一件好事。中國政府對北斗二代的 決心很大,搞這種國字號工程的財力很足,對內的推廣政策很有成效,對外積極談合作已有成果,還有國際電信聯盟的支持,占盡了天時地利人和,預計5000億 的新產業正在浮出水面,北斗二代的前景非常樂觀。
【作者介紹】Donnie ,公號軍工圈:jungongquan。就職于軍工單位,關注軍事科技領域。

2014年11月6日 星期四

Excel絕密函數之一GET.CELL

來精英俱樂部很久了,但一直是一個竊取者:),沒發過貼,因為怕發貼質量差,讓大俠們見笑,不過今天實在想把我領悟的一些東西共享出來.希望對大家有所幫助.

看了很多高手寫的例子,實在搞不懂他們的公式裡面經常會出現GET.CELL是什麼意思,可是到幫助裡找,也找不到,問高手也都沒回應,試著在自己的工作表中輸入GET.CELL,又說當前所用的函數在EXCEL中不可用!暈,氣死我了.
我想即然他們懂得這個函數,那我為什麼就不行了,經過我N久(N起碼大於200個小時)的奮鬥,終於讓我學會了這個GEL.CELL的意思及用法,哈哈,我不笑不行,不敢獨享,給大家分享.

好了教程正式開始
GET.CELL ----->GET是得到的意思CELL是單元格的意思
--->那麼它的意思就是你想得到單元格的什麼東西(信息)
函數定義:
GET.CELL(類型號,單元格(或範圍))

其中類型號,即你想要得到的信息的類型號,經我試驗,可以在1-66,我的媽啊,也就是說他可以返回一個單元格裡66種你要的信息?以前你一定沒想到一個單元格裡還有這麼多種信息?
單元格和範圍意思就不講了吧?:)

好進入實戰!
-------------------------------------------------------------------------------
注意點:該函數不能直接在單元格裡引用,即不能直接寫在編輯欄的公式裡,我拷,不能寫在公式裡,這個函數還有什麼用?
HEHE,高手就高在這邊了,不能寫在公式,但是我們可以寫在名稱裡!!(我就不明白微軟為什麼要這麼搞?暈倒一大片人,包括我)

比如現在我們要取得A1單元格裡的數據格式?結果顯示在B1步驟如下:
1.任選一個單元格-->插入--->名稱-->定義
2.在名稱稱輸入AA(任意名稱)
3.在引用位置上寫入=GET.CELL(7, Sheet1!$A$1)
4.點添加
5.在B1單元格裡輸入=AA
看到了,顯示的結果是什麼???如果沒修改過的話應該是G/通用格式吧!
----------------------------------------------------------------------------------

1        參照儲存格的絕對地址
2        參照儲存格的列號
3        參照儲存格的欄號
4        類似 TYPE 函數
5        參照地址的內容
6        文字顯示參照位址的公式
7        參照位址的格式,文字顯示
8        文字顯示參照位址的格式
9        傳回儲存格外框左方樣式,數字顯示
10        傳回儲存格外框右方樣式,數字顯示
11        傳回儲存格外框方上樣式,數字顯示
12        傳回儲存格外框方下樣式,數字顯示
13        傳回內部圖樣,數字顯示
14        如果儲存格被設定 locked傳回 True
15        如果公式處於隱藏狀態傳回 True
16        傳回儲存格寬度
17        以點為單位傳回儲存格高度
18        字型名稱
19        以點為單位元傳回字號
20        如果儲存格所有或第一個字符為加粗傳回 True
21        如果儲存格所有或第一個字符為斜體傳回 True
22        如果儲存格所有或第一個字符為單底線傳回True
23        如果儲存格所有或第一個字符字型中間加了一條水平線傳回 True
24        傳回儲存格第一個字符色彩數字, 1 至 56。如果設定為自動,傳回 0
25        MS Excel不支持大綱格式
26        MS Excel不支持陰影格式
27        數字顯示手動插入的分頁線設定
28        大綱的列層次
29        大綱的欄層次
30        如果範圍為大綱的摘要列則為 True
31        如果範圍為大綱的摘要欄則為 True
32        顯示活頁簿和工作表名稱
33        如果儲存格格式為多行文字則為 True
34        傳回儲存格外框左方色彩,數字顯示。如果設定為自動,傳回 0
35        傳回儲存格外框右方色彩,數字顯示。如果設定為自動,傳回 0
36        傳回儲存格外框上方色彩,數字顯示。如果設定為自動,傳回 0
37        傳回儲存格外框下方色彩,數字顯示。如果設定為自動,傳回 0
38        傳回儲存格前景陰影色彩,數字顯示。如果設定為自動,傳回 0
39        傳回儲存格背影陰影色彩,數字顯示。如果設定為自動,傳回 0
40        文字顯示儲存格樣式
41        傳回參照地址的原始公式
42        以點為單位傳回使用中窗口左方至儲存格左方水平距離
43        以點為單位傳回使用中窗口上方至儲存格上方垂直距離
44        以點為單位傳回使用中窗口左方至儲存格右方水平距離
45        以點為單位傳回使用中窗口上方至儲存格下方垂直距離
46        如果儲存格有插入批注傳回 True
47        如果儲存格有插入聲音提示傳回 True
48        如果儲存格有插入公式傳回 True
49        如果儲存格是數組公式的範圍傳回 True
50        傳回儲存格垂直對齊,數字顯示
51        傳回儲存格垂直方向,數字顯示
52        傳回儲存格前綴字符
53        文字顯示傳回儲存格顯示內容
54        傳回儲存格數據透視表名稱
55        傳回儲存格在數據透視表的位置
56        樞紐分析
57        如果儲存格所有或第一個字符為上標傳回True
58        文字顯示傳回儲存格所有或第一個字符字型樣式
59        傳回儲存格底線樣式,數字顯示
60        如果儲存格所有或第一個字符為下標傳回True
61        樞紐分析
62        顯示活頁簿和工作表名稱
63        傳回儲存格的填滿色彩
64        傳回圖樣前景色彩
65        樞紐分析
66        顯示活頁簿名稱

轉貼
花了兩天的時間把這幾年用過的 Excel VBA 指令彙總起來,分門別類,方便以後使用,順手貼出來給有需要的朋友。看倌多珍惜啊,這可是好幾年的心血說。(使用 Delphi 語法)

//Excel篇
mExcel.DisplayAlerts := False;                                  //Disable 提示訊息
mExcel.Visible := True;                                         //顯示 Excel 畫面
mExcel.ActiveWindow.FreezePanes := True;                        //凍結窗格(上一行一定要先選列或格)
mExcel.ActiveWindow.Zoom := 75;                                 //顯示比率為75%
mExcel.ActiveWindow.Zoom := True;                               //依據目前選擇範圍自動決定視窗大小
//Workbook篇
mWorkBook := mExcel.WorkBooks[1];                               //將指定變數設定第一個活頁簿(數字可以用名稱取代)
mWorkBook.Name :='內容';                                        //變更WorkBook名稱
mExcel.WorkBooks.Add;                                           //新增一個空白活頁簿
mExcel.WorkBooks.Open(完整路徑);                                //開啟Excel檔
mExcel.WorkBooks[mFile].Close;                                  //關閉Excel檔
DeleteFile(mPath+mFile);                                        //刪除Excel檔
mWorkBook.SaveAs(mPath+mFile,-4143);                            //儲存Excel檔
//Sheet篇
mSheet := mExcel.WorkBooks[1].WorkSheets[1];                    //將指定變數設定第一個工作表(數字可以用名稱取代)
mSheet.Name :='內容';                                           //變更Sheet名稱
mSheet.Copy[After := mWorkBook.Sheets[mWorkBook.Sheets.Count]]; //將mSheet複製到mWorkBook最後
mSheet.Move[After := mWorkBook.Sheets[mWorkBook.Sheets.Count]]; //將mSheet搬移到mWorkBook最後
mWorkbook.Sheets.Add[After:=mWorkbook.Sheets[mSheetCount-1]];   //新增一個空白工作表
mWorkBook.Sheets[1].Delete;                                     //刪除指定Sheet
mWorkBook.Sheets[1].Activate;                                   //將指定Sheet設為使用中
//刪除多餘Sheet
if (mWorkBook.Sheets.Count > 1) then
begin
  for i:=2 to mWorkBook.Sheets.Count do
    mWorkBook.Sheets[2].Delete;
end;
//選取篇
mSheet.Cells.EntireColumn                                       //所有欄
mSheet.Cells.EntireRow                                          //所有列
mSheet.Cells                                                    //所有儲存格
mSheet.Columns[1]                                               //第一欄
mSheet.Rows[1]                                                  //第一列
mSheet.Cells[r,c]                                               //第r列第c欄
mSheet.Range[起,迄]                                             //區間選擇(起訖可以是欄、列、格)
//填值篇
mSheet.Cells[1,1].Value:= '內容';                               //欄位填值
mSheet.Cells[1,1].Formula:= '公式';                             //欄位填入公式
mSheet.Cells[1,1].FormulaR1C1:= '公式';                         //欄位填入公式
mSheet.Cells[1,1].HasFormula                                    //儲存格是否有公式
//格式篇
mSheet.Range[起,迄].Merge;                                      //合併儲存格
mSheet.Cells.EntireColumn.AutoFit;                              //最適欄寬
mSheet.Cells.EntireRow.AutoFit;                                 //最適列高
mSheet.Columns[1].ColumnWidth := 100;                           //設定欄寬
mSheet.Rows[1].RowHeight := 100;                                //設定列高
mSheet.Rows[1].HorizontalAlignment := -4108;                    //水平置中(靠左:-4131;靠右:-4152)
mSheet.Rows[1].VerticalAlignment := -4108;                      //垂直置中(靠左:-4131;靠右:-4152)
mSheet.Rows[1].WrapText  := True;                               //自動換列
mSheet.Columns[1].Hidden := True;                               //隱藏
mSheet.Columns[1].NumberFormatLocal := '@';                     //設定欄位格式[文字]
mSheet.Columns[1].NumberFormatLocal := '#,##0_ ';               //設定欄位格式[數值(整數位 三位一撇)]
mSheet.Columns[1].NumberFormatLocal := '#,##0_ ;[紅色]-#,##0 '; //設定欄位格式[數值(整數位 三位一撇 負數紅字)]
mSheet.Columns[1].NumberFormatLocal := '#,##0_);[紅色](#,##0)'; //設定欄位格式[數值(整數位 三位一撇 負數括號紅字)]
mSheet.Columns[1].NumberFormatLocal := '0.00_ ';                //設定欄位格式[數值(小數兩位)]
mSheet.Columns[1].NumberFormatLocal := '0.0_);[紅色](0.0)';     //設定欄位格式[數值(小數一位 負數紅字)]
mSheet.Columns[1].NumberFormatLocal := '0.00%';                 //設定欄位格式[百分比(小數兩位)]
mSheet.Cells[1].Interior.ColorIndex := 38;                      //設定底色為玫瑰色
mSheet.Cells[1].Interior.ColorIndex := 6;                       //設定底色為黃色
mSheet.Cells[1].Interior.ColorIndex := 36;                      //設定底色為淺黃色
mSheet.Cells[1].Interior.ColorIndex := 35;                      //設定底色為淺綠色
mSheet.Cells[1,1].Font.Size := 10;                              //設定字體大小
mSheet.Cells[1,1].Font.Bold := True;                            //設定粗體字
......
//框線
mSheet.Cells[1,1].Borders[n].LineStyle := 1;
mSheet.Cells[1,1].Borders[n].Weight := 2;
//n = 5.左上右下斜線 6.左下右上斜線 7.左邊線 8.上邊線 9.下邊線 10.右邊線 11.垂直線 12.水平線
//Borders可使用參數:
// LineStyle = 1 實線;-4115 短虛線;4 長短虛線;5 長短短虛線;-4118 細虛線;-4119 雙實線
// Weight =  由細到粗:1 --> 2 --> -4138 --> 4
// ColorIndex = 顏色
//設定格式化條件
mSheet.Cells[1,1].FormatConditions.Delete;                      //清除格式化條件
mSheet.Cells[1,1].FormatConditions.Add[Type:='1', Operator:='1', Formula1:='1', Formula2:='2']; //新增格式化條件(最多3個)
//參數說明
//  參數   中文說明                                  說明
//======== ======== =======================================================================
//Type     來源型態 1.儲存格的值 2.公式
//Operator 規則     1.介於 2.不介於 3.等於 4.不等於 5.大於 6.小於 7.大於或等於 8.小於或等於
//Formula1 條件起
//Formula2 條件迄
mSheet.Cells[1,1].FormatConditions(1).Interior.ColorIndex := 3; //設定條件一為底色紅色
//可設定之格式有:Fonts(字型)、Borders(外框)、Interior(圖樣)
//資料篇
mSheet.Cells.EntireColumn.AutoFilter;                           //自動篩選
mExcel.Selection.Subtotal(1,-4157,VarArrayOf([4,5,6,7,8]),True,False,True);  //做小計
//參數說明
//      參數               中文說明         預設值
//================ ======================== ======
//GroupBy          分組小計欄位             1
//Function         使用函數                 -4157 加總
//TotalList        新增小計位置
//Replace          取代目前小計             True
//PageBreaks       每組資料分頁             False
//SummaryBelowData 摘要資料置於小計資料下方 True
//可使用函數:-4157 加總;-4106 平均值;-4112 項目個數;-4113 數字項目數;-4136 最大值;-4139 最小值;
mSheet.Outline.ShowLevels(2);                                    //把小計層級設2顯示
//列印篇
mSheet.PageSetup.PrintTitleRows := '$1:$1';                      //列印標題列
mSheet.PageSetup.CenterHeader := '表頭';                         //中頁首
mSheet.PageSetup.LeftHeader   := '頁次: &P / &N';                //左頁首
mSheet.PageSetup.RightHeader  := '';                             //右頁首
mSheet.PageSetup.CenterFooter := '& &P / &N';                   //中頁尾
mSheet.PageSetup.LeftFooter   := '頁次: &P / &N';                //左頁尾
mSheet.PageSetup.RightFooter  := '';                             //右頁尾
mSheet.PageSetup.PrintArea := '$B$1:$N$300';                     //設定列印範圍
mSheet.PageSetup.Orientation := 2;                               //1.直印 2.橫印
mSheet.PageSetup.Zoom := 65;                                     //列印時小成65%
mSheet.PageSetup.Zoom := True;                                   //使用頁次縮放功能
mSheet.PageSetup.FitToPagesWide := 1;                            //縮放成一頁寬(需配合Zoom = True)
mSheet.PageSetup.FitToPagesTall := 1;                            //縮放成一頁高(需配合Zoom = True)
mSheet.PageSetup.PaperSize := 8;                                 //設定紙張大小 8:A3、9:A4
mSheet.PageSetup.TopMargin := 1/0.035;                           //頂邊距1cm
mSheet.PageSetup.BottomMargin := 1/0.035;                        //底邊距1cm
mSheet.PageSetup.LeftMargin := 1/0.035;                          //左邊距2cm
mSheet.PageSetup.RightMargin := 1/0.035;                         //右邊距2cm
mSheet.PageSetup.HeaderMargin := 1/0.035;                        //頁首1cm
mSheet.PageSetup.FooterMargin := 1/0.035;                        //頁尾1cm
mSheet.PageSetup.CenterHorizontally := True;                     //頁面水平居中
mSheet.PageSetup.CenterVertically := False;                      //頁面垂直居中

range & cells 

使用 Range 物件選取儲存格

選取單一儲存格
Sub RangeSel1()
    Range("C5").Select '選擇儲存格 C5
End Sub
選取連續的儲存格範圍
Sub RangeSel2()
    Range("B2:D4").Select '選擇連續儲存格範圍 B2:D4
End Sub
Sub RangeSel2()
    Range("B2","D4").Select '選擇連續儲存格範圍 B2:D4
End Sub
選取不連續的儲存格範圍
Sub RangeSel3()
    Range("B2,B4,D2,D4").Select
    Range("B2:D3,B5:D6").Select
End Sub
選取定義名稱的儲存格範圍
Sub RangeSel4()
    Range("銷售總額").Select
End Sub
選取 行/列
Sub RangeSel5()
    Range("1:1").Select '選取第一列
    Range("A:A").Select '選取第 A 行
    Range("1:3").Select '選取第一列到第三列
    Range("A:C").Select '選取第 A 行到第 C 行
    Range("1:3,6:6").Select '選取第第一列到第三列,以及第六列
    Range("A:C,F:F").Select '選取第 A 行到第 C 行,以及第 F 行
End Sub

使用 Cells 屬性選取儲存格

選取單一儲存格
Sub CellsSel1()
    Cells(5,3).Active '選取 C5 儲存格,格式為 Cells("列","行")
    Cells(5,"C").Active
End Sub
Sub CellsSel1()
    Cells(1027).Active '用編號選取儲存格,順序是由左至右由上往下從編號 1 開始
End Sub
選取所有儲存格
Sub CellsSel2()
    Cells.Select
End Sub

取得 / 設定 儲存格的值

Sub GetValueRange1()
    MsgBox Range("A1").Value
End Sub
Sub SetValueRange1()
    Range("A1").Value = 123.456 '通用格式
    Range("A2").Value = "-1,234,500" '千分位
    Range("A3").Value = "2009/01/01" '日期
    Range("A4").Value = "11:22:33" '時間
    Range("A5").Value = "01234" '文字
End Sub

取得 / 設定 儲存格的計算式

設定計算式
Sub FormulaRange1()
    Range("A10").Formula = "=SUM(A1:A9)"
    Range("B10").Formula = "=AVERAGE(B1:B9)"
    Range("C10").Formula = "=MAX(C1:C9)"
    Range("D10").Formula = "=MIN(D1:D9)"
End Sub
絕對參照 / 相對參照
Sub FormulaRange1()
    Range("A3").Formula = "=$A$1+$A$2" '絕對參照
    Range("B3").Formula = "=B1+B2" '相對參照
End Sub