Saya memiliki lembar bernama "Akhir" yang perlu dipindahkan menjadi lembar terakhir dari semua lembar yang tersedia. Saya perlu melakukan ini menggunakan VBA.
Saya punya semacam rutin yang berfungsi, saya hanya perlu sintaks untuk bergerak. Inilah yang saya miliki:
Private Sub CommandButton263_Click()
Dim i As Integer
Dim j As Integer
For i = 1 To Sheets.Count
For j = 1 To Sheets.Count - 1
If UCase$(Sheets(j).Name) > UCase$(Sheets(j + 1).Name) Then
Sheets(j).Move After:=Sheets(j + 1)
End If
Next j
Next i
Sheets("Navigation").Select
Sheets("Navigation").Move Before:=Sheets(1)
Sheets("Navigation (2)").Select
Sheets("Navigation (2)").Move Before:=Sheets(2)
Sheets("EstimateTemplate").Select
Sheets("EstimateTemplate").Move Before:=Sheets(3)
Sheets("Formulas").Select
Sheets("Formulas").Move Before:=Sheets(4)
Sheets("End").Move After:=Sheets(EOF) 'what can i use instead of EOF?
Sheets("Navigation (2)").Select
End Sub
Khusus melihat garis Sheets("End").Move After:=Sheets(EOF)
- Apa yang bisa saya gunakan untuk mendapatkan lembar terakhir?
microsoft-excel
vba
DanM
sumber
sumber
.Select
berlebihanJawaban:
Sheets("End").Move after:=Worksheets(Worksheets.Count)
Lembar kerja. Jumlah akan mengembalikan jumlah total lembar, dan Lembar Kerja (indeks) memilih lembar kerja pada nomor tertentu. Menggabungkan keduanya, Anda harus mendapatkan yang terakhir, apa pun itu.
sumber
Saya pertama-tama akan mengganti nama lembar kerja Anda dengan properti CodeName VBA, agar bermakna. Alih-alih "Sheet1" atau apa pun itu, buat mereka pengubah yang bermakna
Saat ini, jika seseorang mengubah nama sheet, VBA Anda rusak.
Jika sheet Anda bukan memiliki CodeName, Anda dapat melakukan hal-hal yang sangat bagus seperti:
Ini berarti bahkan jika seseorang mengganti nama lembar kerja itu, katakan untuk "hancurkan makro Anda!" itu tidak akan ... merusak makro Anda.
Selain itu, mengenai Selects, Anda dapat melakukan ini untuk membuat kode Anda lebih andal, lebih cepat, dan kuat:
(ini mengasumsikan Anda telah mengganti nama semua lembar kerja Anda CodeName di VBE)
sumber