Tampilkan postingan dengan label Excel. Tampilkan semua postingan
Tampilkan postingan dengan label Excel. Tampilkan semua postingan

Membuat Tabel dari Microsoft Excel ke Website

Bagaimakah membuat tabel di dalam blog atau website kita dengan mudah ?

Kita dapat membuat tabel dengan bantuan software Ms Excel yang tentunya sudah diunggulkan dalam pembuatan tabel - tabel dan dalam hal hitung - menghitung ataupun memisahkan text berdasarkan karakter pemisah dengan software Excel  dan memang dapat kita tampilkan di website / blog dengan mudah dan juga dapat ditampilkan di software Engineering seperti Autocad.


Membuat Tabel dari Microsoft Excel ke Website

Mari kita coba untuk memasukkan tabel yang sudah kita buat dari Ms Excel kedalam blog atau website kita.

Langkah - langkah :

1.  Buatlah tabel yang akan ditampilkan di blog atau di website dengan program Microsoft Excel, dengan mengisikan format - format huruf yang diperlukan seperti italic ataupun warna cell yang diperlukan. Semua format yang telah dibuat di Ms Excel akan dapat ditampilkan di blog / website kita.

2. Save As dalam bentuk Web Page *.html

3. Buka file yang tersimpan dalam bentuk Web Page ( html ) dengan menggunakan notepad.

4. Buka atau buat posting baru ( jika blog ), pilih pada menu format HTML dan salin semua isi text yang berada pada file html yang telah dibuat pada langkah sebelumnya.

5. Simpan dan coba pratinjau postingan yang baru saja kita buat, maka akan tampil tabel seperti di Microsoft Excel 2007.

Membuat Tabel dari Microsoft Excel ke Website
Contoh Hasil Tabel

      Tulisan diatas merupakan hasil dari pencarian di google dan saya mencoba sendiri, karena memang sangat membantu untuk membuat tabel yang akan saya tampilkan kedalam website saya, maka saya bagikan kepada pembaca semoga dapat menambah pengetahuan.

Baca juga tulisan tips dan trik : Agar File Excel dapat diedit beberapa orang dan diwaktu yang bersamaan dan yang lainnya diwebsite ini.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010


      Mudah dalam membuat nama dan alamat pada undangan begitulah yang semua harapkan dalam pembuatan kop surat undangan yang akan ditujukan kepada banyak penerima yang memiliki nama dan alamat yang berbeda. Secara standard kita akan membuat / menulis nama dan alamat tersebut secara satu persatu.
Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010 
       Tetapi program Microsoft Word memiliki menu Mailings yang dapat membantu kita dalam hal pembuatan  kop surat undangan. Bagi para pembaca yang suka mebuat undangan - undangan ataupun para pembaca yang suka mencoba hal - hal yang aneh tentang engineering tips dan trik, wajib meluangkan waktu sejenak untuk membaca tulisan ini.
Sebagai contoh kita akan membuat beberapa surat undangan yang akan kita tujukan kepada beberapa orang yang memiliki nama dan alamat yang berbeda.

Berikut salah satu caranya :
1. Buat terlebih dahulu daftar nama dan alamat pada sebuah file Excel.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

2. Simpan file Excel yang telah diberi nama dan alamat penerima undangan kedalam sebuah folder dengan nama daftar undangan.xls ( nama file hanya sebagai contoh ).

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

 3. Buka program Microsoft Word ( sebagai contoh Microsoft Word 2010 ).
 4. Buka menu Mailings
 5. Klik pada Start Mail Merge - pilih Labels ...

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010


6. Setelah tampil menu Label Options, pilih sesuai kebutuhan.
sebagai contoh pilihlah Label Vendors : A-ONE , pilih salah satu Product Number contoh A-ONE 28171.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

Untuk mengatahui detail dari label klik pada tombol Details dan klik pada tombol Ok jika pilihan sudah sesuai.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

7. Sekarang kita akan menggunakan file excel yang terdapat daftar nama dan alamat penerima undangan dengan cara klik Select Recipients pada menu Mailings dan pilih Use Existing List.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

8. Setelah tampil menu Select Data Source pilih folder letak penyimpanan file Excel dan pilih file Excel yang telah dibuat sebelumnya dan Klik tombol Open.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010
 9. Pilih sheet pada daftar undangan pada file Excel pada menu Select Table.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

 10. Sekarang waktunya untuk implementasi pembuatan data - data para penerima undangan pada workbook.
Pilih Insert Merge Field pada menu Mailing, didalam tersebut terdapat nama - nama judul kolom pada file Excel daftar undangan. Pilih field / kolom yang akan digunakan dan tambahkan kata - kata tambahan jika memang diperlukan.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

Tempatkan field /sesuai dengan format yang kita rencanakan.
Salin dan tempelkan pada kolom Next Record untuk menampilkan daftar selanjutnya sesuai urutan yang telah tertera pada file Excel daftar undangan.

Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

11. Unntuk melihat hasil apakah sesuai dengan yang kita harapkan dengan cara menggunakan menu Preview Results.
Mempermudah membuat undangan dengan menu Mailings di Microsoft Word 2010

     Begitulah salah satu cara - cara pembuatan kop undangan dengan menu Mailings di Microsoft Word 2010. Masih banyak lagi cara untuk membuat kop undangan dengan mudah dan cepat, mungkin para pembaca yang lebih mengetahui boleh menuliskan di kotak komentar sebagai alat sharing pengetahuan. Dan tulisan diatas merupakan pengatahuan penulis yang sedikit yang tertuang dalam bentuk tulisan semoga dapat membantu mempercepat penyelesaian pekerjaan bagi para pekerja dibidang engineering dan semuanya.

Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

      Melanjutkan tulisan tips dan trik engineering saya sebelumnya Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel tulisan ini merupakan cara - cara untuk memisahkan memisahkan text dalam suatu kalimat yang di sekat oleh karakter tertentu menggunakan software Excel 2010.

Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010contoh kalimat : No$Jumlah$Keterangan, akan dipisahkan menjadi satu kata satu cell dan karakter $ sebagai pemisahnya. sehingga dihasilkan perkata yaitu No dalam satu cell, Jumlah dalam satu cell, dan Keterangan dalam satu cell.
     Dalam bidang engineering menurut saya cara / tools ini sangat membantu saya dalam menyelesaikan pekerjaan yang berhubungan dengan pengelolaan data nama - nama file ataupun report / laporan dalam bentuk text yang di export dari software lain seperti PDMS / MDS dan diperlukan pengelolaan mengunakan software Excel agar report menjadi informatif.
     

1. Pada tab Data workbook Excel 2010 terdapat menu Text to Columns silahkan klik pada menu tersebut, pastikan sebelumnya sudah memilih / select column letak Text yang akan dipisahkan.


Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010
Menu Text to Columns Excel 2010

 Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

2. Pilih Delimited dan lanjutkan dengan klik tombol Next.

Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

Isikan pada check menu Other dengan karakter pemisah, misalkan $, pastikan tampilan data review sesuai dengan yang kita inginkan.

Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

3. Pilih semua kolom pada Data Review dan pilih pada column data format dalam tipe Text.


Untuk melanjutkan tulisan Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel silahkan mengikuti cara - cara dibawah ini :
 
1. Paste / tempel hasil copy dari AutoCAD pada sembarang cell, untuk mudahnya kita paste pada cell A1.
Contoh kalimat hasil salinan / copy dari AutoCAD yang akan kita jadikan contoh kasus : 

No^Nama^Jumlah^$1^Rod^12^$2^Plug^10^$3^Mur@baut^66^$

2. Ikuti langkah seperti tulisan diatas untuk memisahkan text dengan karakter pemisah $, Sehingga dihasilkan :
No^Nama^Jumlah^ di cell A1,
1^Rod^12^$2^Plug^10^ di cell B1, 
3^Mur@baut^66^ di cell C1.

3. Pilih semua cell hasil pemisahan. dalam contoh A1, B1, dan C1, Copy.

4. Pada cell A2, klik kanan Paste Special - centang pada Tranpose. Sehingga hasil akan menjadi vertikal, jumlah baris sesuai dengan jumlah cell yang dicopy.

No^Nama^Jumlah^ di cell A2,
1^Rod^12^$2^Plug^10^ di cell A3, 
3^Mur@baut^66^ di cell A4.

4. Langkah selanjutnya yaitu memisahkan semua dengan karakter pemisah ^ sesuai langkah sebelumnya, pastikan pilih kolom A.

5. Ganti semua karakter @ menjadi spasi dengan CTRL + H, untuk mengembalikan spasi ( tulisan sebelumnya di AutoCAD )

Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

Somoga tulisan kali ini dapat menjadi tips dan trik engineering yang dapat membantu mempercepat penyelesaian pekerjaan. Silahkan tulis masukkan atau komentar di kotak komentar dibawah ini.



Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

      Tulisan saya kali ini adalah pengalaman diri saya yang pernah menggunakan software Autocad bukan mengenai 3D modeling ataupun PDMS, untuk menggambar gambar yang harus mencantumkan tabel Material Take Off ( MTO ) untuk mempermudah para pekerja lapangan melihat / menggunakan material karena sudah tercantum dalam gambar. Dalam hal ini tabel MTO (seperti contoh gambar dibawah ) sudah dibuat di AutoCAD tetapi tidak memakai menu Table AutoCAD yang bisa terkoneksi dengan file Excel.
Menyalin / mengcopy tabel MTO di AutoCAD ke Excel      Dan saya diharuskan menyalin semua tabel MTO dari dalam gambar Autocad ke file Excel untuk membantu perhitungan semua material. Pengalaman saya yang sedikit mengenai Autocad ini saya tuangkan dalam tulisan yang mungkin bisa dikatakan sebuah tips atau trik engineering dan semoga dapat membantu para drafter pengguna AutoCAD yaitu  Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel.

Baca juga Mengapa Harus Belajar Software Aveva PDMS ?

      Bagi para drafter yang jobs nya menggambar menggunakan software AutoCAD, dan telah terlanjur membuat tabel Material Take Off ( MTO ) atau tabel Bill Of Material ( BOM ) di AutoCAD dalam bentuk Text ataupun MText dan ingin menyalin ke file Excel, luangkan waktu sejenakuntuk membaca tulisan ini, semoga dapat membantu menyelesaikan pekerjaan lebih cepat.

     Dibawah ini adalah contoh gambar tabel Material Take Off  ( MTO ) yang telah dibuat di AutoCAD yang akan kita salin ke Excel :

Menyalin / mengcopy tabel MTO di AutoCAD ke Excel

Hasil yang diharapkan adalah Material Take Off ( MTO ) / tabel dapat disalin kedalam software excel 2010, seperti gambar contoh dibawah ini :

Menyalin / mengcopy tabel MTO di AutoCAD ke Excel

Berikut adalah  step - step menyalin MTO dari AutoCAD ke software Excel :

1. Copy kode - kode / script AutoLisp di tulisan paling bawah di halaman ini, dan simpan dalam bentuk Lsp file dan drag and drop kedalam AutoCAD seperti tulisan saya yang sebelumnya, Mengganti perintah / command pada Autocad : Menengah  pada poin 1, 2, 3 dan 4.

 2. Jika tabel Material Take Off ( MTO ) masih terdiri dalam bentuk object Mtext dan Text atau block, maka Explode terlebih dahulu sehingga menjadi bentuk Text semua.

3. Jika dalam suatu cell / value / tulisan dalam tabel MTO terdapat spasi, ganti semua spasi dengan
 karakter @ . Untuk mempermudah mengganti spasi gunakan menu Find ( ketik Command Autocad Find ). Karena ini adalah syarat agar berhasil untuk copy text AutoCAD ke Excel.

4. Jika dalam suatu cell / value / tulisan dalam tabel MTO tidak terdapat isi, harus diisi dengan tanda - . Dan ini merupakan syarat agar cara dalam tulisan  ini berhasil seperti yang diharapkan.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel
Contoh sederhana AutoCAD ke Excel

5. Ketik perintah command Autocad : HT2M   -  Horizontal Convert from Text to MText. 
Pilih / select kata pertama dibaris pertama kemudian pilih semua kata dibaris pertama, tekan enter atau spasi. 

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

Lakukan cara ini untuk baris - baris berikutnya dengan diselingi enter atau spasi, sehingga menjadi satu tipe MText, satu baris satu Mtext.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

6.  Explode semua baris yang sudah di konversi menjadi satu MText satu baris sehingga semua menjadi Text.

7.  Ketik perintah command Autocad : VT2M   -  Vertical Convert from Text to MText.
Pilih / select baris pertama kemudian pilih semua baris, tekan enter atau spasi, sehingga menjadi satu baris saja yang bertipe MText.

Menyalin / mengcopy tabel MTO dari AutoCAD ke Excel

8. Copy semua tulisan didalam MText.

9. Buka program Microsoft Office Excel dan tempel / paste tulisan hasil copy dari  AutoCAD ke Excel.

Untuk langkah berikutnya silahkan melanjutkan untuk baca tulisan, Memisahkan text berdasarkan karakter pemisah dengan software Excel 2010

Jika ada cara lain yang lebih mudah dan pembaca ketahui mohon  dibagi pengetahuannya bagi pembaca yang lainnya dan penulis dengan memberi masukkan atau di kolom komentar.

Berikut kode - kode / script AutoLisp menggubah mengkonversi Text menjadi MText sehingga membantu:

(defun col2str (inp)
  (cond
    ((= inp nil)(setq ret "BYLAYER"))
    ((= inp 256)(setq ret "BYLAYER"))
    ((= inp 0)(setq ret "BYBLOCK"))
    ((and (> inp 0)(< inp 255))(setq ret (itoa inp)))
    (t nil)
  )
)

(defun savprop ()
  (setq clayer (getvar "CLAYER"))
  (setq cecolor (getvar "CECOLOR"))
  (setvar "CECOLOR" "BYLAYER")
  (setq celtype (getvar "CELTYPE"))
  (setvar "CELTYPE" "BYLAYER")
  (setq thickness (getvar "THICKNESS"))
  (setvar "THICKNESS" 0)
  (if (>= (atoi (getvar "ACADVER")) 13)
    (progn
      (setq celtscale (getvar "CELTSCALE"))
      (setvar "CELTSCALE" 1.0)
    )
  )
)

(defun resprop ()
  (if (>= (atoi (getvar "ACADVER")) 13)
    (setvar "CELTSCALE" celtscale)
  )
  (setvar "THICKNESS" thickness)
  (setvar "CELTYPE" celtype)
  (setvar "CECOLOR" cecolor)
  (setvar "CLAYER" clayer)
)

(defun textrect (tent / ang sinrot cosrot t1 t2 p1 p2 p3 p4)
  (setq p0 (cdr (assoc 10 tent))
    ang (cdr (assoc 50 tent))
    sinrot (sin ang)
    cosrot (cos ang)
    t1 (car (textbox tent))
    t2 (cadr (textbox tent))
    p1 (list (+ (car p0)
       (- (* (car t1) cosrot) (* (cadr t1) sinrot)))
       (+ (cadr p0)
       (+ (* (car t1) sinrot) (* (cadr t1) cosrot))))
    p2 (list (+ (car p0)
       (- (* (car t2) cosrot) (* (cadr t1) sinrot)))
       (+ (cadr p0)
       (+ (* (car t2) sinrot) (* (cadr t1) cosrot))))
    p3 (list (+ (car p0)
       (- (* (car t2) cosrot) (* (cadr t2) sinrot)))
       (+ (cadr p0)
       (+ (* (car t2) sinrot) (* (cadr t2) cosrot))))
    p4 (list (+ (car p0)
       (- (* (car t1) cosrot) (* (cadr t2) sinrot)))
       (+ (cadr p0)
       (+ (* (car t1) sinrot) (* (cadr t2) cosrot))))
  )
  (list p1 p2 p3 p4)
)

(defun C:HT2M ( / mwid dset ibrk bitm bent sset rect mlay mcol mlst
                      bins bang tang nins num ndis chnd cent nhnd nstr
                      str pt1 pt2 pt3 dis dvx dvy dvz new)
(while
  (if (< (atoi (getvar "ACADVER")) 13)
    (alert "This Function Requires\nRelease 13 or Higher")
    (progn
      (setq cmdecho (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (command "_.UNDO" "_G")
      (setq mwid 0.0)
      (setq dset (ssadd))
      ;
      ;(initget "Y N")
      ;(setq tmp (getkword "\nDS> Include Line Breaks <Y>/N: "))
      ;(if (/= tmp "N")(setq ibrk "Y")(setq ibrk "N"))
      (setq ibrk "N")
      ;
      (setq bitm (car (entsel "\nDS> Pick Base String: ")))
      (setq bent (entget bitm))
      (setq rect (textrect bent))
      (setq chk (distance (car rect)(cadr rect)))
      (if (> chk mwid)(setq mwid chk))
      ;
      (if (= "TEXT" (cdr (assoc 0 bent)))
        (progn
          (redraw bitm 3)
          (princ "\nDS> Select Remaining Text: ")
          (setq sset (ssget '((0 . "TEXT"))))
          (if sset
            (progn
              (setq rect (textrect bent))
              (setq orig rect)
              (setq mlay (cdr (assoc 8 bent)))
              (setq mcol (cdr (assoc 62 bent)))
              (setq mlst (list (cdr (assoc 1 bent))))
              ;
              (if (> (cdr (assoc 72 bent)) 0)
                (setq bins (cdr (assoc 11 bent)))
                (setq bins (cdr (assoc 10 bent)))
              )
              (setq bang (cdr (assoc 50 bent)))
              (setq tang (- bang (/ PI 2)))
              (setq nins bins)
              (ssdel bitm sset)
              (while (> (sslength sset) 0)
                (setq num (sslength sset) itm 0)
                (setq ndis 99999999.9)
                (while (< itm num)
                  (setq chnd (ssname sset itm))
                  (setq cent (entget chnd))
                  (if (> (cdr (assoc 72 cent)) 0)
                    (setq cins (cdr (assoc 11 cent)))
                    (setq cins (cdr (assoc 10 cent)))
                  )
                  (setq cdis (distance bins cins))
                  (if (< cdis ndis)
                    (setq ndis cdis nhnd chnd nent cent)
                  )
                  (setq itm (1+ itm))
                )
                (setq dset (ssadd nhnd dset))
                (ssdel nhnd sset)
                ;
                (setq rect (textrect nent))
                (setq chk (distance (car rect)(cadr rect)))
                (if (> chk mwid)(setq mwid chk))
                ;
                (setq nstr (cdr (assoc 1 nent)))
                (setq mlst (append mlst (list nstr)))
              )
              ;
              (entdel bitm)
              (setq num (sslength dset) itm 0)
              (while (< itm num)
                (setq hnd (ssname dset itm))
                (entdel hnd)
                (setq itm (1+ itm))
              )
              ;
              (savprop)
              (setvar "CLAYER" mlay)
              (if (/= mcol nil)
                (setvar "CECOLOR" (col2str mcol))
              )
              (setq mwid (+ mwid (* mwid 0.025)))
              (setq pt1 (car orig))
              (setq pt2 (cadr orig))
              (setq dis (distance pt1 pt2))
              (setq dvx (/ (- (car pt2)(car pt1)) dis))
              (setq dvy (/ (- (cadr pt2)(cadr pt1)) dis))
              (setq pt3 (list dvx dvy 0.0))
              (setq nins (list (car (cadddr orig))
                         (cadr (cadddr orig))
                         (nth 2 (cdr (assoc 10 bent)))))
              ;
              (setq new '((0 . "MTEXT")(100 . "AcDbEntity")(100 . "AcDbMText")))
              (setq new (append new (list (assoc 7 bent))))
              (setq new (append new (list (assoc 8 bent))))
              (setq new (append new (list (cons 10 nins))))
              (setq new (append new (list (cons 11 pt3))))
              (foreach lin mlst
                (if (= ibrk "Y")
                  (if (/= lin (last mlst))
                    (setq lin (strcat lin "\\P"))
                  )
                  (setq lin (strcat lin "^"))
                )
                (setq new (append new (list (cons 1 lin))))
              )
              (setq new (append new (list (assoc 40 bent))))
              (setq new (append new (list (cons 41 mwid))))
              (setq new (append new (list (cons 71 1))))
              (setq new (append new (list (cons 72 1))))
              (entmake new)
              (resprop)
              ;
              (setq sset nil)
              (setq dset nil)
              (setq lst nil)
              (command "_.UNDO" "_E")
              (setvar "CMDECHO" cmdecho)
            )
            (redraw bitm 4)
          )
        )
      )
    )
  )
  (setq sset nil)
  (setq mlst nil)
  (princ)
)
)

(defun C:VT2M ( / mwid dset ibrk bitm bent sset rect mlay mcol mlst
                      bins bang tang nins num ndis chnd cent nhnd nstr
                      str pt1 pt2 pt3 dis dvx dvy dvz new)
  (if (< (atoi (getvar "ACADVER")) 13)
    (alert "This Function Requires\nRelease 13 or Higher")
    (progn
      (setq cmdecho (getvar "CMDECHO"))
      (setvar "CMDECHO" 0)
      (command "_.UNDO" "_G")
      (setq mwid 0.0)
      (setq dset (ssadd))
      ;
      ;(initget "Y N")
      ;(setq tmp (getkword "\nDS> Include Line Breaks <Y>/N: "))
      ;(if (/= tmp "N")(setq ibrk "Y")(setq ibrk "N"))
      (setq ibrk "N")
      ;
      (setq bitm (car (entsel "\nDS> Pick Base String: ")))
      (setq bent (entget bitm))
      (setq rect (textrect bent))
      (setq chk (distance (car rect)(cadr rect)))
      (if (> chk mwid)(setq mwid chk))
      ;
      (if (= "TEXT" (cdr (assoc 0 bent)))
        (progn
          (redraw bitm 3)
          (princ "\nDS> Select Remaining Text: ")
          (setq sset (ssget '((0 . "TEXT"))))
          (if sset
            (progn
              (setq rect (textrect bent))
              (setq orig rect)
              (setq mlay (cdr (assoc 8 bent)))
              (setq mcol (cdr (assoc 62 bent)))
              (setq mlst (list (cdr (assoc 1 bent))))
              ;
              (if (> (cdr (assoc 72 bent)) 0)
                (setq bins (cdr (assoc 11 bent)))
                (setq bins (cdr (assoc 10 bent)))
              )
              (setq bang (cdr (assoc 50 bent)))
              (setq tang (- bang (/ PI 2)))
              (setq nins bins)
              (ssdel bitm sset)
              (while (> (sslength sset) 0)
                (setq num (sslength sset) itm 0)
                (setq ndis 99999999.9)
                (while (< itm num)
                  (setq chnd (ssname sset itm))
                  (setq cent (entget chnd))
                  (if (> (cdr (assoc 72 cent)) 0)
                    (setq cins (cdr (assoc 11 cent)))
                    (setq cins (cdr (assoc 10 cent)))
                  )
                  (setq cdis (distance bins cins))
                  (if (< cdis ndis)
                    (setq ndis cdis nhnd chnd nent cent)
                  )
                  (setq itm (1+ itm))
                )
                (setq dset (ssadd nhnd dset))
                (ssdel nhnd sset)
                ;
                (setq rect (textrect nent))
                (setq chk (distance (car rect)(cadr rect)))
                (if (> chk mwid)(setq mwid chk))
                ;
                (setq nstr (cdr (assoc 1 nent)))
                (setq mlst (append mlst (list nstr)))
              )
              ;
              (entdel bitm)
              (setq num (sslength dset) itm 0)
              (while (< itm num)
                (setq hnd (ssname dset itm))
                (entdel hnd)
                (setq itm (1+ itm))
              )
              ;
              (savprop)
              (setvar "CLAYER" mlay)
              (if (/= mcol nil)
                (setvar "CECOLOR" (col2str mcol))
              )
              (setq mwid (+ mwid (* mwid 0.025)))
              (setq pt1 (car orig))
              (setq pt2 (cadr orig))
              (setq dis (distance pt1 pt2))
              (setq dvx (/ (- (car pt2)(car pt1)) dis))
              (setq dvy (/ (- (cadr pt2)(cadr pt1)) dis))
              (setq pt3 (list dvx dvy 0.0))
              (setq nins (list (car (cadddr orig))
                         (cadr (cadddr orig))
                         (nth 2 (cdr (assoc 10 bent)))))
              ;
              (setq new '((0 . "MTEXT")(100 . "AcDbEntity")(100 . "AcDbMText")))
              (setq new (append new (list (assoc 7 bent))))
              (setq new (append new (list (assoc 8 bent))))
              (setq new (append new (list (cons 10 nins))))
              (setq new (append new (list (cons 11 pt3))))
              (foreach lin mlst
                (if (= ibrk "Y")
                  (if (/= lin (last mlst))
                    (setq lin (strcat lin "\\P"))
                  )
                  (setq lin (strcat lin "$"))
                )
                (setq new (append new (list (cons 1 lin))))
              )
              (setq new (append new (list (assoc 40 bent))))
              (setq new (append new (list (cons 41 mwid))))
              (setq new (append new (list (cons 71 1))))
              (setq new (append new (list (cons 72 1))))
              (entmake new)
              (resprop)
              ;
              (setq sset nil)
              (setq dset nil)
              (setq lst nil)
              (command "_.UNDO" "_E")
              (setvar "CMDECHO" cmdecho)
            )
            (redraw bitm 4)
          )
        )
      )
    )
  )
  (setq sset nil)
  (setq mlst nil)
  (princ)
)

Agar File Excel dapat diedit beberapa orang dan diwaktu yang bersamaan

   Sangatlah membantu sekali jika suatu pekerjaan dapat dikerjakan oleh beberapa orang bersama-sama dalam jaringan yang sama ( work share ), contohnya didalam sebuah kantor.  Tentunya pekerjaan yang besar akan lebih cepat selesai dan ini merupakan salah satu tips dan trik engineering  dari tips - tips yang pernah saya tulis sebelumnya , memberi nomor sheet ( sheet ... of ... sheets ) secara otomatis.
      Sebagai contoh adalah pekerjaan 3d cad modeling PDMS / MDS yang pekerjaannya dilakukan oleh beberapa orang dalam waktu bersamaan, sebagai contoh saja. 

Agar File Excel dapat diedit beberapa orang dan diwaktu bersamaan Engineering Tips dan Trik     Dan tulisan saya berikut mengenai pekerjaan yang menggunakan software excel. Siapa yang tidak tahu software excel, yang setiap harinya digunakan para engineer ataupun drafter autocad dalam membantu mengitung kalkulasi / membuat perhitungan material. 
     Konsepnya hampir sama dengan contoh 3d modeling, hanya saja kita menggunakan satu file excel yang diletakkan di server dan semua dapat membuka file excel tersebut dalam waktu yang bersamaan.



Didalam tulisan ini saya menggunakan software excel 2010

1. Buka pada tab Review 

2. Klik pada share workbook. 


Pada tab editing, centang pada allow changes by more than one user at the same time.also allows workbook mergering. 

Agar File Excel dapat diedit beberapa orang dan diwaktu bersamaan Engineering Tips dan Trik

Pada tab advanced, kita bisa atur sesui kebutuhan. 

Agar File Excel dapat diedit beberapa orang dan diwaktu bersamaan Engineering Tips dan Trik

Dan salah satu yang terpenting adalah pada pengaturan conflig change between users.
- Ask me which changes win - ada pemberitahuan jika ada perubahan secara bersamaan di satu cell yang sama ( yang disarankan ).
- The changes being saved win - tidak ada pemberitahuan.


Kekurangan saat kita menggunakan share workbook :
Kita tidak dapat memperbarui / refresh data yang berada di sheet yang menggunakan VipotTable, kita harus mengembalikan file excel dalam kondisi tidak shrare workbook dengan cara menghilangkan tanda centang pada allow changes by more than one user at the same time.also allows workbook mergering.

 Semoga tulisan dari saya yang sedikit ini dapat membantu mempercepat dalam menyelesaikan pekerjaan kita ataupun hanya sekedar menambah pengetahuan.

Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel

      Penomoran sheet secara otomatis di Excel sangatlah berguna bagi para engineer yang menggunakan software Excel dalam menelesaikan pekerjaan seperti pembuatan laporan / report suatu pekerjaan. Dimana terdapat banyak sekali worksheet yang harus adanya modifikasi, pengurangan, dan penambahan worksheet dalam masa Engineering.
Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel       Contoh kasusnya adalah kita harus memberi keterangan sheet .. of .. sheets disetiap lembar dokumen sesuai nomor urut sheetnya. Sangatlah merepotkan jika kita harus terpaksa mengurangi atau menambah jumlah sheet yang berimbas kepada semua lembar dokumen dengan mengganti tulisan sheet .. of .. sheets disetiap lembarnya. Tidak seperti autocad yang harus mengganti secara manual disetiap drawingnya. Disinilah keunggulan software Excel.
      Berikut saya bagikan cara bagaimana kita dapat membuat keterangan nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel.

Hasil yang kita inginkan :
Setiap cell disetiap worksheet otomatis menampilkan nomor dan jumlah sheet berdasarkan posisi dan jumlah Worksheet.

Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel
Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel

Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel







Cara - cara membuat nomor sheet secara otomatis :
1. Save Excel dalam extensi *.xls atau *.xlsm  ( *.xlsx tidak mendukung )
2. Ketik ATL + F11, akan tampil menu Microsoft Visual Basic for Application.

Memberi nomor sheet secara otomatis berdasarkan posisi dan jumlah Worksheet di Excel

3. Buatlah Module baru seperti tanda lingkaran merah nomor 1
4. Klik pada module yang telah dibuat disini adalah Module 1 dan akan tampil Module1 ( Code )
5. Isikan code dibawah berikut dan Simpan ( CTRL + S ) 

Function SheetNum(Optional celRef As Range) As Long
    With Application.Caller.Parent
        If celRef Is Nothing Then
            SheetNum = .Index
        Else
            SheetNum = celRef.Parent.Index
        End If
    End With
End Function
Function JumlahSheet()

   JumlahSheet = Worksheets.Count
End Function

6. Isikan kombinasi code =SheetNum()&" / "&JumlahSheet() pada setiap cell disetiap worksheet seperti contoh hasil yang kita inginkan.



Begitulah tulisan diatas salah satu Engineering tips dan trik agar dapat mempermudah atau mengoptimasi dalam penyelesaian pekerjaan. Semoga dapat membantu.