發表文章

目前顯示的是有「VBA」標籤的文章

【Excel】使用自訂清單排序資料

圖片
現在我有一張表,有"日期"和"縣市",我希望將"地點"按照我的方式如:台北、台中、台南、高雄,這樣來排序;(如下圖),我們該如何來將它按照自己的方式來排序呢? 一.首先點選【檔案】打開【選項】。 二.點選【自訂功能區】,將【插入】的項目展開,【新增群組】,點選【自動排序】後新增此功能。 三.選取要排序的資料範圍。 四.點選【自訂排序】,選擇【自訂清單】。 五.輸入要排序的「順序」,新增後確定,即可完成排序。   六.結果如下  

【VBA】如何製作圖表

圖片
內嵌圖表 每一個內嵌圖表就是一個Chart 物件,包含在ChartObject 物件中。 ChartObject 物件是Chart物件的容器,透過 ChartObject 物件的屬性和方法可以設定內嵌圖表的外觀和大小。 每個工作表都有一個 ChartObjects 集合,ChartObject 物件會存在其中。 要建立內嵌圖表時可以使用 ChartObjects 集合的 Add 方法,其語法如下: 工作表.ChartObjects.Add(Left, Top, Width, Height) ChartType 屬性 使用 ChartType 屬性可以設定或讀取圖表類型,預設值為 xlColumnClustered(群組直條圖)。 例如:設 ch 圖表物件的圖表類型為折線圖,寫法為: ch.ChartType = xlLine(折線圖) 若將 PlotBy:設為xlRows,則圖表依公司別繪製圖表。 設定資料來源範例: ch.SetSourceData Source:=Worksheets("工作表1").Range("A1:D3"), PlotBy:=xlRows 若將 PlotBy:設為xlColumns,則圖表依月份繪製圖表。 設定資料來源範例: ch.SetSourceData Source:=Worksheets("工作表1").Range("A1:D3"), PlotBy:=xlColumns Sub Chart() Dim co As ChartObject: Dim ch As Chart Set co = Worksheets("工作表1").ChartObjects.Add(0, 130, 400, 300) Set ch = co.Chart ch.ChartType = xlLine ch.SetSourceData Source:=Worksheets("工作表1").Range("A1:D3"), PlotBy:=xlRows ch.HasTitle = True ch.ChartTitle.Text = ...

【VBA】字串處理-擷取儲存格字串

圖片
以下範例為住家地址符合某些關鍵字時,將整個地址複製到另一儲存格的方法。 以下範例為當讀取住家地址字串時,若有符合"和"及"美"的字元,就把整個地址複製到另一儲存格。 在整個程式中,我們會用到InStr及Mid二個函數。 InStr函數:在本文用來回傳關鍵字的位置,若地址中有關鍵字則傳回1否則傳回0,故可用傳回值判斷地址是否有關鍵字。 Mid函數:在本文使用Mid函數把字串中的關鍵字("和"及"安")複製到另一儲存格。 Sub adress() Dim keypos_A, keypos_B As Integer Dim i As Integer For i = 2 To 999 keypos_A = InStr(Cells(i, "A"), "和") keypos_B = InStr(Cells(i, "A"), "安") If keypos_A 0 And keypos_B 0 Then Cells(i, "B") = Mid(Cells(i, "A"), keypos_A, 1) Cells(i, "C") = Mid(Cells(i, "A"), keypos_B, 1) Cells(i, "D") = Cells(i, "A") End If If Cells(i, "A") = "" Then MsgBox "迴圈計算至" & i - 1 & "筆後結束" Exit For End If Next End Sub