de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 Micah
Micah
Question

Bagaimana cara mendapatkan alamat rentang termasuk nama lembar kerja, tetapi bukan nama buku kerja, di Excel VBA?

Jika saya memiliki objek Range - misalnya, katakanlah objek tersebut merujuk ke sel A1 pada lembar kerja yang disebut Book1. Jadi saya tahu bahwa memanggil Address() akan mendapatkan referensi lokal yang sederhana: $A$1. Saya tahu itu juga bisa dipanggil sebagai Address(External:=True) untuk mendapatkan referensi termasuk nama buku kerja dan nama lembar kerja: [Book1] Sheet1!$A$1.

Apa yang saya inginkan adalah mendapatkan alamat termasuk nama lembar kerja, tetapi bukan nama buku. Saya benar-benar tidak ingin memanggil Address(External:=True) dan mencoba menghapus nama buku kerja sendiri dengan fungsi string. Apakah ada panggilan yang bisa saya lakukan pada range untuk mendapatkan Sheet1!$A$1?

37 2008-09-25T02:11:34+00:00 3
 ashleedawg
ashleedawg
Pertanyaan edit 27 Juni 2018 в 2:16
Pemrograman
vba
excel
excel-vba
Pertanyaan ini memiliki :value jawaban dalam bahasa Inggris, untuk membacanya masuk ke akun Anda.
Solution / Answer
Ben Hoffstein
Ben Hoffstein
25 September 2008 в 2:23
2008-09-25T02:23:32+00:00
Lebih
Sumber
Sunting
#8507145

Satu-satunya cara yang dapat saya pikirkan adalah menggabungkan nama lembar kerja dengan referensi sel, sebagai berikut:

Dim cell As Range
Dim cellAddress As String
Set cell = ThisWorkbook.Worksheets(1).Cells(1, 1)
cellAddress = cell.Parent.Name & "!" & cell.Address(External:=False)

EDIT:

Ubah baris terakhir menjadi:

cellAddress = "'" & cell.Parent.Name & "'!" & cell.Address(External:=False) 

jika anda ingin ia bekerja bahkan jika ada spasi atau karakter lucu lainnya dalam nama sheet.

Ben Hoffstein
Ben Hoffstein
Jawaban edit 18 Oktober 2011 в 1:28
52
0
 theo
theo
25 September 2008 в 2:36
2008-09-25T02:36:11+00:00
Lebih
Sumber
Sunting
#8507146

Ben benar. Saya juga tidak bisa memikirkan cara untuk melakukan ini. Saya menyarankan metode yang direkomendasikan Ben, atau yang berikut ini untuk menghapus nama Workbook.

Dim cell As Range
Dim address As String
Set cell = Worksheets(1).Cells.Range("A1")
address = cell.address(External:=True)
address = Right(address, Len(address) - InStr(1, address, "]"))
3
0
 TimS
TimS
27 Maret 2009 в 4:58
2009-03-27T04:58:40+00:00
Lebih
Sumber
Sunting
#8507148

[edit pada 2009-04-21]

rentang tertentu (oleh karena itu .Name anyone?) Ya, oops!

[/edit]

Sedikit terlambat, saya tahu, tetapi jika ada orang lain yang menemukan ini dalam pencarian google (seperti yang baru saja saya lakukan), Anda juga bisa mencoba yang berikut ini:

Dim cell as Range
Dim address as String
Set cell = Sheet1.Range("A1")
address = cell.Name

Ini akan mengembalikan alamat lengkapnya, seperti "=Sheet1!$A$1".

Dengan asumsi Anda tidak menginginkan tanda sama dengan, Anda dapat menghapusnya dengan fungsi Replace:

address = Replace(address, "=", "")
 TimS
TimS
Jawaban edit 21 April 2009 в 6:06
-2
0
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 6 jam yang lalu
2
Akshit Mehta
Terdaftar 2 hari yang lalu
3
me you
Terdaftar 5 hari yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi