發表文章

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

EXCEL VBA檔案另存成PDF,另存成XLSX加密碼

  Function saveFile_13(name, month) Dim RS As New ADODB.Recordset     sPath = ThisWorkbook.Path     Sheets("13").Select          Application.ScreenUpdating = False          X="A1234567890"         If Len(Trim(X)) > 0 Then                            Application.DisplayAlerts = False                 pw = Left(X, 1) & Right(X, 5)                                  '另存成PDF                'Sheets("13").ExportAsFixedFormat Type:=xlTypePDF, Filename:=sPath & "\" & Replace(name, "*", "") & "_" & month & "個月.pdf"                 '另存xlsx                  Worksheets...

VBA 另存CSV檔(UTF-8),將篩選內容轉存至指定儲存格

 Sub doExport_13() Dim rng As Range        '自動篩選結果範圍  b1 = Now           With Sheets("13_整理")               .Activate         'Worksheets("25").Activate         Set rng = .UsedRange    '所有資料範圍                         Dim fsT As Object         Dim tFilePath As String         tFilePath = ThisWorkbook.Path & "\" & "13_pw.csv"         'Create Stream object         Set fsT = CreateObject("ADODB.Stream")         fsT.Type = 2         fsT.Charset = "utf-8"         fsT.Open         fsT.WriteText "A1,A2,A3" + Chr(13)     '標頭         rng.AutoFilter    '設定自動篩選         ...

excel vba 將篩選的值另外存至其他儲存格

  Sub doFilterGroup_13_整理()     Dim d, rng As Range, cel As Range     Set d = CreateObject("scripting.dictionary")   '建立 Dictionary物件 '先將目的地的儲存格清成空白     With Worksheets("執行")         Set rng = .[q:q]         rng.Value = ""     End With     With Worksheets("13_整理")         Set rng = .[b:b]      '設定B欄為要篩選資料的範圍         .Activate       End With      '將資料塞入Dictionary的物件中     For Each cel In rng        If cel.Value <> "" Then d(cel.Value) = ""       Next      '將篩選後的不重複值存入Sheets("執行").[Q1]中     Sheets("執行").[Q1].Resize(d.Count) = Application.Transpose(d.keys)          End Sub

EXCEL VBA連結MYSQL資料庫

圖片
1.檢查ODBC DRIVER是否已經安裝,如果沒有安裝前往官網 https://downloads.mysql.com/archives/c-odbc/ 下載安裝 2.至ODBC的驅動程式檢查相對應安裝的位元版本是否已經有出現MYSQL的DRIVER,如下圖 3.EXCEL VBA的connection string如下:     ConnectionString = "Driver={MySQL ODBC 8.0 UNICODE Driver};Server=192.168.1.IP;Database=資料庫名稱;User=使用者帳號;Password=密碼;Option=3;"     Conn.Open ConnectionString   '建立資料庫連線 注意的地方是連線字串中的Driver= {MySQL ODBC 8.0 UNICODE Driver} 大括號中的字串要等於ODBC中的名稱,這樣才可以對的到DRIVER才可以正常執行。

EXCEL VBA讀取XML解析取出資料

XML檔內容如下 <Form formVersionId="5449540f">   <FormFieldValue>     <FieldItem fieldId="0" fieldValue="180900010" realValue="" enableSearch="True" />     <FieldItem fieldId="1" fieldValue="台北" realValue="ec3a9bd9" enableSearch="True" />     <FieldItem fieldId="2" fieldValue="XXXXX" />     <FieldItem fieldId="9" fieldValue="單位" realValue="" enableSearch="True" />     <FieldItem fieldId="5" fieldValue="台北醫院" realValue="" enableSearch="True" fillerName="XXXX" fillerUserGuid="e1aee539" fillerAccount="0122" fillSiteId="" />     <FieldItem fieldId="7" fieldValue="2018/09/20" realValue="" enableSearch="True" fillerName="XXXXXX" fillerUserGuid="e1aee539" fill...

EXCEL VBA 清除整列資料

      '先取得有資料的列數      TR = Worksheets("sheet1").UsedRange.Rows.Count     '標記要清除的範圍     if TR<3 then TR=3 '判斷是否小於標題列     dds = "3:" & TR     Worksheets("sheet1").Rows(dds).Select     '清除資料     Selection.Delete Shift:=xlUp