Cara menjaga teks yang dipilih disorot ketika fokus berubah di Microsoft Word / Excel


49

Terkait dengan pertanyaan ini: Tampilkan pemilihan sel di Excel ketika tidak fokus kecuali bahwa kasus saya menyangkut Microsoft Word.

Ketika saya memilih teks atau kolom / baris dalam Microsoft Word atau Excel (2003, 2007, 2010 atau 2013) muncul seperti ini di Word:

masukkan deskripsi gambar di sini

dan Excel:

masukkan deskripsi gambar di sini

Namun, ketika saya mengubah fokus ke program lain, teks yang disorot tidak lagi disorot.

Saya biasanya bekerja dengan 2 monitor, di mana satu monitor berisi dokumen / spreadsheet yang berisi data yang perlu saya baca, dan monitor lain adalah tempat saya benar-benar melakukan pekerjaan. Saya akan memilih beberapa teks (atau sel) untuk membuatnya menonjol di antara banyak halaman data, dan kemudian beralih program, tetapi teks yang disorot tidak lagi terlihat.

Apakah ada solusi permanen untuk masalah ini?


@CGTheLegend: Solusi alternatif yang ditawarkan adalah uang biaya atau makro sementara yang AFAIK tidak berfungsi di banyak file.
glenneroo

Jawaban:


23

Cara cepat untuk memperbaiki setengah dari masalah Anda (saat beralih dari Excel ke Word) adalah menyalin teks. Ketika Anda menekan Ctrl + c, sel-sel akan terus ditandai (highligthing hilang, tetapi Anda masih memiliki garis putus-putus di sekitar teks).

Kelemahan dari ini, adalah bahwa teks hanya ditandai, selama Anda memegang sel yang disalin. Berarti Anda tidak bisa menyalin apa pun atau tanda itu hilang. Sayangnya ini tidak akan berfungsi dari Word ke Excel.


14

Ini sepertinya merupakan "fitur" Microsoft yang eksklusif. Untuk sebagian besar proyek saya hanya perlu akses read-only dan format tidak masalah dalam kasus saya, oleh karena itu saya telah beralih ke OpenOffice yang tidak menunjukkan perilaku ini.


3
Saya tidak berpikir jawaban ini pantas solusi terbaik. Hanya menggunakan aplikasi yang berbeda bukanlah solusi terbaik untuk semua orang.
CGTheLegend

Saya suka solusi ini karena MS tidak menghapus bug ini sejak 100 tahun
Hartmut P.

Secara pribadi saya pernah mengalami LibreOffice menjadi lebih kompatibel.
Damian Vogel

6

tidak ada solusi permanen untuk masalah ini.

solusi (mungkin mengganggu dalam beberapa saat) adalah mengubah penyorotan sel yang dipilih saat mereka dipilih dan memilih kembali lagi untuk menjatuhkan warna.

Tempelkan kode ini dalam kode Sheet1 di belakang dan buka spreadsheet Anda dan pilih beberapa sel, pilih yang lain lalu pilih kembali yang pertama untuk menjatuhkan warnanya

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim cell As Range

    For Each cell In Target.Cells
        If cell.Interior.Color = RGB(60, 150, 230) Then
            cell.Interior.Pattern = xlNone
        Else
            cell.Interior.Color = RGB(60, 150, 230)
        End If
    Next
End Sub

@ DaveRook gagasan untuk mengubah warna latar belakang di salah satu SelectionChange atau Aktifkan acara harus bekerja untuk Excel dan Word.

6

VBa ini akan melakukannya tetapi mengasumsikan Anda TIDAK menggunakan highliting. Jika ya, sorotan Anda akan kacau jadi jangan gunakan itu.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ActiveCell.Worksheet.Cells.Interior.ColorIndex = xlNone
    ActiveCell.EntireRow.Interior.ColorIndex = 19
End Sub

Bagaimana cara menambahkan VBA di MS Office?


Sebagai pekerjaan besar di sekitar (jika sorotan tidak bekerja untuk Anda), Anda dapat menggunakan sesuatu seperti JRuler (dengarkan aku :) !! !! ) karena ini akan memungkinkan Anda untuk meninggalkan penggaris di layar dengan deretan pertanyaan di atasnya sehingga ketika mata Anda kembali ke layar itu, Anda dapat melihat di mana Anda berada (sehingga Anda dapat melihat, saya kehilangan sorotan tetapi setidaknya saya bisa melihat saya sedang melihat baris 3)!

Jangan salah paham, ini melelahkan dan menyebalkan jika Anda sering melakukan hal ini, tetapi mungkin cukup untuk program apa pun (Word dan Excel).

masukkan deskripsi gambar di sini


4

Setelah sepuluh tahun masalah ini membuat saya gila juga akhirnya saya menemukan solusi yang bekerja untuk saya. Sayangnya itu tidak gratis ... Window Manager yang sebenarnyamemiliki fitur yang disebut "Ignore deactivation" yang dapat diaktifkan untuk aplikasi tertentu. Ini membuat jendela berpikir itu masih memiliki fokus bahkan ketika itu tidak. Saya mengaktifkan ini untuk semua aplikasi kantor dan sekarang saya masih bisa melihat pilihan yang disorot bahkan ketika jendela lain memiliki fokus. Saya juga tidak punya efek samping negatif. Saya juga menggunakan beberapa monitor dan program ini memiliki banyak alat bermanfaat lainnya untuk bekerja dengan beberapa monitor juga yang membuatnya bermanfaat bagi saya. Saya menginstal uji coba dan kemudian mencopotnya dan itu menawarkan saya diskon 30%. Mungkin ada program gratis yang melakukan ini, tetapi saya tidak dapat menemukannya ... Saya harap ini membantu seseorang sebanyak itu membantu saya!


Sayangnya metode ini tidak berfungsi untuk Word 2010 dan Windows 7
Eugene Mala

2

Saya berjuang dengan masalah yang sama untuk waktu yang lama. Saya juga tersesat di file Excel padat saat menggunakan beberapa layar.

Ada banyak koleksi plugin Excel yang tersedia di internet. Saya menemukan bahwa ekstensi Kutools Excel (versi gratis) memiliki lintas klik satu kali on / off highlight yang tetap terlihat bahkan jika Excel tidak fokus. Kutools juga tampaknya memiliki banyak fitur tambahan, tetapi tentu saja bukan satu-satunya pilihan yang tersedia.

Berikut adalah tangkapan layar dari sorotan rambut Kutools yang sedang beraksi:

Cuplikan layar Kutools menyoroti lintas rambut dalam aksi

Saya tahu beberapa orang takut dengan plugin atau alat pihak ke-3, tetapi menggunakannya mungkin merupakan pilihan tercepat dan termudah.


0

Masukkan kotak teks yang membentang panjang sel. Ketik sebaris ******* karakter serupa untuk mengisi kotak teks. Anda dapat memindahkan kotak teks ke bawah halaman seperti penggaris atau selembar kertas pada salinan. Hapus saat selesai.


0

Solusi Sederhana yang menempatkan warna sel saat pemilihan berubah

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Selection.Interior.ColorIndex = xlColorIndexNone
    Selection.Interior.Color = RGB(204, 204, 204)
End Sub


Solusi Kompleks yang hanya mengubah warna sel saat fokus hilang

Dalam modul standar:

Option Explicit    
Public s As Range

Dalam lembar yang Anda inginkan berfungsi:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set s = Selection
End Sub

Dalam ThisWorkbook:

Private Sub Workbook_Deactivate()
    If s Is Nothing Then
        Set s = Selection
        Exit Sub
    End If
    s.Interior.ColorIndex = xlColorIndexNone
    s.Interior.Color = RGB(204, 204, 204)

    ' This is optional formatting to make the cells look more like they're actually selected
    s.Borders.Color = RGB(130, 130, 130)
    s.BorderAround _
    Color:=RGB(30, 130, 37), Weight:=xlThick
End Sub

Private Sub Workbook_Activate()
    If s Is Nothing Then
        Set s = Selection
        Exit Sub
    End If
    s.Interior.ColorIndex = xlColorIndexNone
    s.Borders.ColorIndex = xlColorIndexNone
End Sub


Kutipan: Solusi sederhana didasarkan pada jawaban oleh @Dave ; Solusi kompleks disatukan dari banyak sumber, terutama dengan bantuan @JohnColeman dalam posting ini .


0

Cara yang sangat sederhana untuk melakukan ini adalah dengan pemformatan bersyarat dan VBA.

Cukup tambahkan ini ke kode ThisWorkbook Anda:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Application.CutCopyMode = False Then
        Application.Calculate
    End If
End Sub

dan jalankan kode berikut hanya sekali , untuk membuat aturan format bersyarat:

Sub CreateConditionalFormats()
  Dim y As FormatCondition
    For Each ws In ThisWorkbook.Worksheets
        DoEvents

        'Optionally delete any existing conditional formats
        'ws.Cells.FormatConditions.Delete

        ' Selection highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=AND(ROW()=CELL(""row""), COLUMN()=CELL(""col""))")
        With y.Borders(xlTop)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlBottom)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlLeft)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlRight)
            .LineStyle = xlSolid
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False
        y.SetFirstPriority

        ' Row highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=ROW()=CELL(""row"")")
        With y.Borders(xlTop)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlBottom)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False

        ' Column highlight
        Set y = ws.Cells.FormatConditions.Add(Type:=xlExpression, Formula1:="=COLUMN()=CELL(""col"")")
        With y.Borders(xlLeft)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With y.Borders(xlRight)
            .LineStyle = xlDash
            .Color = -16776961
            .TintAndShade = 0
            .Weight = xlThin
        End With
        y.StopIfTrue = False
    Next
End Sub

0

Menggunakan bentuk sisipkan / persegi panjang adalah solusi sederhana. Pilih opsi "Tanpa Isi" dan daripada Anda bahkan dapat mengedit sel melalui itu.

Lihatlah gambar di sini:

Lihatlah gambar di sini

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.