Tukar konten sel di Excel?

42

Apakah ada cara mudah untuk menukar konten dua sel di Microsoft Excel?

Maksud saya, cara pintas keyboard atau item menu, tanpa melibatkan penyalinan ke sel sementara atau menulis skrip VBA atau semacamnya. Dengan kata lain, saya sedang mencari cara untuk hanya memilih dua sel dan mengklik beberapa item menu atau tekan beberapa kombinasi tombol yang akan menukar isinya. Tentunya, harus ada cara untuk melakukan ini?

Dan Moulding
sumber
Ini sepertinya implementasi yang sangat spesifik, dan jika belum ada dalam opsi sortir lanjutan, saya akan terkejut jika Anda dapat menemukannya di tempat lain, sebagai solusi non-VBA
drapkin11

Jawaban:

47

Dari: http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html

Terkadang, ada dua sel yang berdampingan yang perlu ditukar. Kita dapat melakukannya secara manual dengan mudah. Lihatlah screenshot berikut, saya ingin menukar sel A4 dan B4, silakan lakukan sebagai berikut:

masukkan deskripsi gambar di sini

  1. Pilih sel yang ingin Anda tukarkan. Dalam contoh ini, pilih sel A4.

  2. Tekan tombol Shift , dan letakkan kursor di perbatasan kanan.

  3. Lalu seret kursor ke perbatasan kanan sel B4.

  4. Saat ada tampilan "工", lepaskan mouse.

  5. Dan dua isi sel telah ditukar.

masukkan deskripsi gambar di sini

Dengan metode ini, kita juga dapat menukar dua baris atau kolom yang berdampingan.

pengguna190216
sumber
8
Ini harus menjadi server yang dipilih untuk saya. Terima kasih!
Nam G VU
2
Itu tidak bekerja untuk saya. Itu hanya memasukkan sel kosong di antara 2 sel itu
phuclv
2
Ini hanya berfungsi untuk sel-sel yang berdekatan dan bukan yang diminta pertanyaan asli.
jpierson
Ini tidak berfungsi sama sekali bagi saya di Excel 2010 - cepat berkedip, tetapi konten sel tetap tidak berubah.
Hashim
@ phuclv Saya memiliki masalah yang sama seperti Anda sebelum saya menyadari bahwa, untuk langkah 2, saya meletakkan kursor mouse di perbatasan kanan bawah daripada di perbatasan kanan tengah.
Richard
17

Untuk kasus spesifik dari kisaran persegi panjang berukuran sama yang berdekatan , Anda dapat menggunakan metode yang dijelaskan dalam jawaban ini untuk pertanyaan serupa .

  1. Pilih rentang kanan atau bawah
  2. Tekan Ctrl+X
  3. Pilih rentang yang berdekatan (yaitu, langsung di atas atau ke kiri)
  4. Tekan Ctrl+ +( +biasanya di atas =tombol jadi ini diterjemahkan ke Ctrl+ Shift+ =)

Catatan Anda dapat menggunakan prosedur yang sama untuk menukar seluruh baris atau kolom yang berdekatan.

Jonas Heidelberg
sumber
1
Luar biasa. Ini persis apa yang saya cari. Mampu menggunakan pintasan keyboard dan bisa beroperasi pada banyak sel jauh lebih cepat.
Anthony G - keadilan untuk Monica
Ini tidak berhasil untuk saya. Dan sel-sel tersebut saling bersebelahan. Saya tidak tahu mengapa ini tidak berhasil. Apakah ada penjelasan khusus untuk perintah ini?
Smart Humanism
15

Maksud saya, cara pintas keyboard atau item menu, tanpa melibatkan penyalinan ke sel sementara atau menulis skrip VBA atau semacamnya. Saya mencari cara untuk hanya memilih dua sel dan mengklik beberapa item menu atau tekan beberapa kombinasi tombol yang akan menukar isinya.

Mengapa memaksakan pembatasan ini? Membuat makro membuat ini sepele. Sejauh yang saya tahu, itu tidak bisa dilakukan dengan cara lain. Anda dapat menetapkan makro ke tombol atau hotkey.

Sub Swap()     
    If Selection.Count <> 2 Then     
         MsgBox "Select 2 cells (only) to swap."     
         Exit Sub     
    End If     
    Set trange = Selection     
    If trange.Areas.Count = 2 Then     
         temp = trange.Areas(2)     
         trange.Areas(2) = trange.Areas(1)     
         trange.Areas(1) = temp     
    Else     
         temp = trange(1)     
         trange(1) = trange(2)     
         trange(2) = temp     
    End If     
End Sub     
ghoppe
sumber
4
Saya bukan ahli VBA dan tidak punya waktu maupun keinginan untuk menjadi VBA. Saya juga sering menggunakan banyak komputer yang berbeda. Akan lebih baik jika swapping tersedia di setiap komputer yang saya gunakan untuk Excel, tanpa harus mencari kode untuk makro VBA yang melakukannya, sehingga saya dapat mengikatnya ke hotkey.
Dan Moulding
3
@Dan Alangkah baiknya jika semua orang bisa memiliki fungsi hewan peliharaan mereka dibangun ke dalam Excel, tapi kemudian itu akan menjadi lebih besar dari yang sudah ada. Ada alasan mengapa Excel memiliki bahasa makro, untuk mengotomatiskan tugas yang berulang seperti ini. Saya memposting kode yang ditemukan melalui pencarian google. Anda tidak harus menjadi seorang ahli.
ghoppe
+1 vba adalah cara excel memungkinkan Anda untuk menambahkan fungsi hewan peliharaan Anda. ada juga cara membuat vba itu tersedia di banyak komputer, untuk diri sendiri atau untuk semua orang (misalnya buku kerja pribadi, atau addins)
chris neilsen
9
Saya tidak akan menyebut menukar konten dua sel / baris / kolom menjadi fungsi hewan peliharaan.
Nicolai
5
@ ghoppe Mungkin tidak penting, tetapi jika Anda melakukan pencarian cepat pada "menukar konten dua sel dalam excel" (yang sudah Anda miliki), cukup jelas bahwa Dan dan saya bukan satu-satunya yang peduli dengan fitur ini.
Nicolai
5

Tidak. Tidak ada cara untuk menukar konten dua sel di Excel, tanpa menulis makro Anda sendiri untuk melakukannya.

SUNTING: Sepertinya sekarang ada cara mudah untuk menukar konten sel di versi Excel yang lebih baru, jadi jawaban ini mungkin sudah usang.

Dan Moulding
sumber
pernyataan ini salah. Lihat jawaban dari user190216.
Karl Rookey
@KarlRookey Awalnya jawaban itu menyatakan (dan masih seperti itu) bahwa sel-sel harus berdekatan. Kedengarannya seperti ini mungkin tidak lagi berlaku untuk versi Excel yang lebih baru. Jika itu masalahnya, maka, ya, sekarang ada jawaban yang lebih baik. Terima kasih!
Dan Moulding
Terima kasih sudah mengatakan ini. Semua contoh di sini memiliki efek samping menukar dua sel (jika mereka berdekatan) tetapi tidak "bertukar sel", itu "menggeser" sel.
Peter Ritchie
2

Pilih set sel pertama yang akan ditukar dan tekan ctrl+ x:

Pilih sel di samping sel yang ingin Anda tukarkan dan tekan ctrl+ +.

pengguna287020
sumber
1
Ini hanya berfungsi jika sel berdekatan. Kalau tidak, seluruh barang digeser di dekat sel target.
tumchaaditya
0

Anda dapat menempel hingga 25 item ke clipboard, sehingga mudah ditukar menggunakan ctr + tab atau cmd + tab mac

Harun
sumber
2
Apakah ini fitur Mac standar? Penulis pertanyaan tidak menentukan pada platform apa mereka berada. Saya tidak yakin apakah clipboard standar di semua versi Windows menampung lebih dari satu item, tetapi utilitas gratis sudah tersedia untuk menyediakan fungsionalitas itu (dan pintasan keyboard dapat bervariasi). Bisakah Anda memperluas jawaban Anda agar lebih komprehensif untuk pendekatan ini?
fixer1234
Saya mencoba ini pada Windows tetapi tidak bisa mengetahuinya. Saya bahkan mencoba opsi ctrl + shift + p yang biasanya bekerja di Visual Studio untuk menempelkan cincin clipboard.
jpierson
0
  • Pilih sel bawah yang ingin Anda tukarkan
  • Tekan Ctrl+ Xdan buka sel yang ingin Anda tukarkan
  • Tekan Ctrl+ Shift+=

Swap akan dieksekusi

mehndiratta co
sumber
Ini persis sama dengan jawaban Jonas Heidelberg , dari ( tepat! ) Enam tahun yang lalu, dan secara efektif sama dengan jawaban user287020 .
Scott
0

Saya membaca posting ini tetapi sebenarnya membutuhkan makro untuk menukar rentang penuh. Selain itu, saya perlu menukar warna. Mengubah makro yang awalnya diposting sedikit, ini mungkin berguna bagi seseorang.

Sub Swap()

    If Selection.Areas.Count <> 2 Then
         MsgBox "Select 2 cell ranges (only) to swap."
         Exit Sub
    End If


    If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
         MsgBox "The two areas must be of equal size"
         Exit Sub
    End If

    'With this for loop we run through each cell 1 by 1
    For i = 1 To Selection.Areas(1).Count
        'Swapping values
        temp = Selection.Areas(1)(i)
        Selection.Areas(1)(i) = Selection.Areas(2)(i)
        Selection.Areas(2)(i) = temp

        'Swapping color
        tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
        Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
        Selection.Areas(2)(i).Interior.Color = tempColor
    Next i

End Sub
Ivo van der Marel
sumber