返回列表 上一主題 發帖

[發問] EXCEL班表程式自動轉換WORD

[發問] EXCEL班表程式自動轉換WORD

各位大大好,詢問各位如何將EXCEL利用VBA,如附件一、附件二,利用附件一格式轉換成WORD附件二那樣,抓取日期後,顯示每次早班巡查人員,不然公司每次都要一直打,人數多、班次多還是一次挺綑擾的事,煩請各位大大幫忙解答,謝謝大家!

EXCEL.rar (17 KB)

回復 1# d82625348


    版大晚安,讓小弟獻醜幫您一下~
    我發現站上需要EXCEL內的資料轉成WORD的需求偶爾還是有,
    但是查站上文章或GOOGLE上面對於EXCEL內的資料轉成WORD資料,
    程式碼寫的內容,有些寫的很片段,有些寫的方法有點迂迴,

    所以小弟獻上自行研究最簡單與直覺的寫法給未來有需要的大家,
    以下是以此題為範例的寫法,按下[資料寫入WORD]按鈕,便能將EXCEL內的資料轉寫到WORD裡面:
   
   

   
   
    附件一EXCEL檔.rar (19.2 KB)
  1. Private Sub CommandButton1_Click()
  2. Dim WDApp As Object
  3. Dim WDDoc As Object
  4. Dim WDSelect As Object
  5. Dim i As Integer
  6. Dim j As Integer
  7. Dim date_str As String
  8. Dim name_str As String

  9. Set WDApp = CreateObject("Word.Application")
  10. Set WDDoc = WDApp.Documents.Add
  11. Set WDSelect = WDApp.Selection

  12. WDApp.Visible = True

  13. With WDSelect
  14.     For i = 2 To 20 Step 3
  15.    
  16.         date_str = Worksheets("工作表1").Cells(1, i)
  17.         .TypeText Text:=date_str
  18.         .TypeParagraph
  19.    
  20.         name_str = ""
  21.         For j = 2 To 8
  22.             If Worksheets("工作表1").Cells(j, i) = "巡" Then name_str = name_str & Worksheets("工作表1").Cells(j, 1) & "、"
  23.         Next j
  24.         
  25.         .TypeText Text:=Left(name_str, Len(name_str) - 1)
  26.         .TypeParagraph
  27.         .TypeParagraph
  28.     Next i
  29. End With

  30. End Sub
複製代碼
有錯誤或有更精進寫法,再麻煩站上前輩與各路大神不吝指教,來造福未來有需要的網友們。

TOP

太實用了~謝謝nolookyou提供!

TOP

        靜思自在 : 人生不一定球球是好球,但是有歷練的強打者,隨時都可以揮棒。
返回列表 上一主題