Note: The other languages of the website are Google-translated. Back to English
English English

Bagaimana cara mencantumkan semua properti file Excel dalam sebuah lembar?

Pada artikel ini, saya memperkenalkan kode VBA untuk mencantumkan semua properti buku kerja aktif dalam sebuah lembar.

1. tekan Alt + F11 kunci untuk mengaktifkan jendela Microsoft Visual Basic for Applications.

2. klik Menyisipkan > Modul, dan tempel kode di bawah ini ke modul kosong.

VBA: Cantumkan semua properti

Sub WBProperties()
'UpdatebyKutools20191031
    Dim xWB As Workbook
    Dim xF As Long
    Dim xStr As String
    Dim xWSh As Worksheet
    On Error Resume Next
    Application.DisplayAlerts = False
    xStr = "Workbook Properties"
    Set xWB = Application.ActiveWorkbook
    Set xWSh = xWB.Worksheets.Item(xStr)
    If Not xWSh Is Nothing Then
        xWSh.Delete
    End If
    Set xWSh = xWB.Worksheets.Add
    xWSh.Name = xStr
    xWSh.Range("A1").Value = "Property"
    xWSh.Range("B1").Value = "Value"
    With xWB
        For xF = 1 To .BuiltinDocumentProperties.Count
            xWSh.Range("A65536").End(xlUp).Offset(1, 0).Value = _
            .BuiltinDocumentProperties.Item(xF).Name
            xWSh.Range("A65536").End(xlUp).Offset(0, 1).Value = _
            .BuiltinDocumentProperties.Item(xF).Value
        Next xF
    End With
    Application.DisplayAlerts = True
End Sub

daftar dokumen semua tambahkan 1

3. tekan F5 kunci untuk menjalankan kode, lembar baru bernama Properti Buku Kerja telah dibuat di depan lembar aktif, yang mencantumkan semua properti buku kerja aktif.
daftar dokumen semua tambahkan 1


Operasi Lainnya (Artikel)

Nonaktifkan add-in saat memulai Excel
Anda mungkin telah menginstal beberapa add-in di Microsoft Excel Anda, tetapi sekarang Anda perlu menonaktifkan add-in tertentu saat memulai Excel. Bagaimana cara mengatasi masalah ini? Metode dalam artikel ini dapat membantu Anda.

Ekspor dan simpan setiap lembar kerja sebagai buku kerja baru yang terpisah di Excel
Katakanlah Anda ingin mengekspor dan menyimpan satu atau beberapa lembar kerja sebagai buku kerja baru, bagaimana Anda akan menghadapinya? Biasanya Anda dapat menyalin setiap lembar kerja dan menempelkannya ke buku kerja baru. Tetapi di sini kami memberikan beberapa trik praktis untuk menghadapinya:

Kode VBA untuk mencantumkan semua add in di Excel
Di Excel, Anda dapat menambahkan atau menyisipkan beberapa tambahan untuk menangani data dengan lebih baik. Seperti yang kita ketahui, kita bisa pergi ke jendela Options untuk melihat semua add in, tetapi adakah cara untuk mendaftar semua add in dalam sebuah sheet?



  • Bilah Formula Super (dengan mudah mengedit beberapa baris teks dan rumus); Membaca Tata Letak (membaca dan mengedit sel dalam jumlah besar dengan mudah); Tempel ke Rentang yang Difilter...
  • Gabungkan Sel / Baris / Kolom dan Menyimpan Data; Pisahkan Konten Sel; Gabungkan Baris Duplikat dan Jumlah / Rata-rata... Mencegah Sel Duplikat; Bandingkan Rentang...
  • Pilih Duplikat atau Unik Baris; Pilih Baris Kosong (semua sel kosong); Temukan Super dan Temukan Fuzzy di Banyak Buku Kerja; Pilih Acak ...
  • Salinan Tepat Beberapa Sel tanpa mengubah referensi rumus; Buat Referensi Otomatis ke Beberapa Lembar; Sisipkan Poin, Kotak Centang, dan lainnya ...
  • Favorit dan Sisipkan Rumus dengan Cepat, Rentang, Grafik dan Gambar; Enkripsi Sel dengan kata sandi; Buat Milis dan mengirim email ...
  • Ekstrak Teks, Tambahkan Teks, Hapus berdasarkan Posisi, Hapus Space; Membuat dan Mencetak Subtotal Paging; Konversi Konten Antar Sel dan Komentar...
  • Filter Super (simpan dan terapkan skema filter ke sheet lain); Penyortiran Lanjutan menurut bulan / minggu / hari, frekuensi dan lainnya; Filter Khusus dengan huruf tebal, miring ...
  • Gabungkan Workbooks dan WorkSheets; Gabungkan Tabel berdasarkan kolom kunci; Pisahkan Data menjadi Beberapa Lembar; Konversi Batch xls, xlsx dan PDF...
  • Pengelompokan Tabel Pivot menurut nomor minggu, hari dalam seminggu dan banyak lagi ... Tampilkan Sel yang Tidak Terkunci dan Terkunci dengan warna berbeda; Sorot Sel Yang Memiliki Rumus / Nama...
tab kte 201905
  • Aktifkan pengeditan dan pembacaan tab di Word, Excel, PowerPoint, Publisher, Access, Visio, dan Project.
  • Buka dan buat banyak dokumen di tab baru di jendela yang sama, bukan di jendela baru.
  • Tingkatkan produktivitas Anda hingga 50%, dan kurangi ratusan klik mouse untuk Anda setiap hari!
officetab bawah
Urutkan komentar berdasarkan
komentar (1)
Belum ada peringkat. Jadilah yang pertama memberi peringkat!
Komentar ini diminimalkan oleh moderator di situs
Halo,

Pertama, saya tidak tahu VBA, tetapi telah ditentukan setelah berjam-jam mencari, itu adalah satu-satunya solusi untuk masalah saya.

Latar Belakang:
Saya memiliki buku kerja dengan sejumlah besar kueri dan kueri tipe "Gabungkan" yang dibuat Power Query yang menarik data dari file datar; beberapa, tetapi tidak semua ditambahkan ke Model Data/Power Pivot.

Komposisi kueri dapat berubah seiring waktu.

Dalam subset kueri, saya telah menonaktifkan penyegaran dengan "Segarkan Semua" untuk mengurangi waktu yang sudah lama diperlukan untuk menyegarkan semua kueri.

Ada banyak lembar kerja yang berisi Pivot dari Model Data, sedangkan yang lain berisi subset tabel yang diisi dari kueri melalui "Muat Ke"

Saya menggunakan O365 Excel

Contoh kode di bawah ini didasarkan pada jam penelitian. Saya tidak tahu apakah itu bernilai dalam mencapai tujuan saya di bawah ini, tetapi saya memasukkannya jika itu memicu solusi.

Tujuan:
Saya ingin lembar kerja "indeks" dibuat berisi tabel dinamis (atau hanya tercantum dalam sel yang dapat saya konversi ke tabel secara manual) yang menyimpan daftar kueri "Kueri-" buku kerja terbaru dan propertinya masing-masing di bawah .

Tabel dinamis (misalnya, mencerminkan kueri yang ditambahkan/diubah/dihapus) harus berisi kolom berikut dengan properti kueri/koneksi berikut sebagai bidang:
-------------------------------------------------- ---
"Nama", "Deskripsi", "RefreshWithRefreshAll", "InModel", "Jenis"

Contoh berikut adalah apa yang saya dapat kumpulkan dari jalinan yang membawa saya ke sana, tetapi itu hanya memungkinkan saya untuk melihatnya di jendela VBA Immediate, dan saya tidak tahu bagaimana memasukkannya ke dalam tabel pada lembar kerja:

Sub DaftarKoneksi()

Redupkan cn Sebagai Koneksi Buku Kerja

Debug.Cetak "Nama", "|", "Deskripsi", "|", "|", "RefreshWithRefreshAll", "|", "InModel", "|", "Type"


Untuk Setiap cn Dalam Buku Kerja Ini. Koneksi
Debug.Print cn.Name, "|", cn.Description, "|", cn.RefreshWithRefreshAll, "|", cn.InModel, "|", cn.Type

Next
Akhir Sub------------------------------------------------- -----

Saat ini, saya hanya bisa menampilkannya di Jendela Segera:
-------------------------------------------------- ---
Nama|Deskripsi||RefreshWithRefreshAll|InModel|Type
ModelConnection_ExternalData_1|DataModel|Benar|Benar|7
ModelConnection_ExternalData_11|DataModel|Benar|Benar|7
Kueri-SemuaADMembers(CX)|Koneksi ke kueri'SemuaADMembers(CX)'dalam buku kerja.|Benar|Benar|1
Kueri-SemuaAzureADUsers-Disabled|Koneksi ke kueri'SemuaAzureADUsers-Disabled'dalam buku kerja.|Benar|Salah|1
Kueri-SemuaAzureADUsers-Enabled|Koneksi ke kueri'SemuaAzureADUsers-Enabled'dalam buku kerja.|Benar|Salah|1
Hanya Kueri-SemuaAzureADUsers|Sambungan ke'SemuaKueriAzureADUsHanya'di buku kerja.|Benar|Salah|1
...

Query-UsersinDA,NotinApp-BulkDEL*|Connectiontothe'UsersinDA,NotinApp-BulkDEL*'queryintheworkbook.|False|True|1
ThisWorkbookDataModel|Model Data|Benar|Benar|7
-------------------------------------------------- ---
Catatan 1: Saya menggunakan konvensi menambahkan tanda bintang ke nama kueri untuk melihat secara visual kueri mana yang saya nonaktifkan menyegarkan dengan Segarkan Semua.
Catatan 2: Nama kueri dengan (CNX) merujuk ke kueri dasar ke file datar yang menjadi dasar kueri gabungan lainnya.
Catatan 3: Bidang "Penyegaran Terakhir" dalam tabel akan menjadi Tanggal/Waktu Penyegaran Terakhir dari kueri. Saya berharap itu dapat diperoleh sebagai properti kueri, karena stempel waktu ini ditampilkan saat mengarahkan kursor ke kueri di panel kueri, mis.


Berdasarkan pencarian saya, tampaknya ini tidak dapat diperoleh karena beberapa alasan, tetapi jika tidak, saya menemukan referensi lain untuk menambahkannya sebagai nilai yang dihitung menggunakan stempel waktu penyegaran yang dieksekusi makro.

Contoh: Saya menemukan banyak referensi untuk menambahkan tombol untuk melakukan penyegaran makro atau menyegarkan semua kueri. Pikiran saya adalah bahwa seseorang dapat membuat kode untuk secara dinamis menghitung nama-nama dari kode di atas Kueri-[Nama Kueri], kemudian minta kode tersebut menjalankan penyegaran setiap kueri (CNX) di atas terlebih dahulu, kemudian jalankan sisanya secara individual untuk menangkap eksekusi dan / atau stempel waktu selesai. Karena ada urutan alami yang digunakan Excel saat melakukan penyegaran semua, mengeksekusi kueri secara manual dapat memicu urutan alami beberapa kali sehingga waktu penyegaran secara keseluruhan tidak tertahankan. Mencari solusi yang paling efisien di sini.

Berikut adalah beberapa kode yang saya pikir akan berguna untuk mengatasi hal ini, tetapi sekali lagi, kode ini hanya menampilkan output di Jendela Segera saat dijalankan.
-------------------------------------------------- ---
Dim TMulai Sebagai Tanggal
Redup Cenderung Sebagai Tanggal
Redupkan cn Sebagai Koneksi Buku Kerja

Untuk Setiap cn Dalam Buku Kerja Ini. Koneksi

If Left(cn, 13) = "Power Query -" Kemudian
Debug.Cetak cn
TMulai = Sekarang
cn.Segarkan
SEND = Sekarang
Debug.Print CStr(DateDiff("s", TStart, TEnd)) + " Detik"
Debug.Cetak ""

End If
cn berikutnya
End Sub
-------------------------------------------------- ---
Thanks in advance!

M
Belum ada komentar yang diposting di sini
Tinggalkan komentar anda
Posting sebagai Tamu
×
Beri peringkat pos ini:
0   Karakter
Lokasi yang Disarankan