2010-07-15 33 views

Trả lời

165

Không có cách viết tắt nào trong VBA không may, gần nhất bạn sẽ nhận được là một điều hoàn toàn bằng hình ảnh sử dụng ký tự tiếp tục : nếu bạn muốn nó trên một dòng để dễ đọc;

Dim clientToTest As String: clientToTest = clientsToTest(i) 
Dim clientString As Variant: clientString = Split(clientToTest) 
+9

+1, tôi nhớ Microsoft đề xuất trong quá trình xây dựng lên .NET mà các nhà phát triển VB6 bắt đầu thực hiện việc này để chuẩn bị sẵn sàng cho VB.NET. –

13

Bạn có thể sắp xếp-of làm điều đó với các đối tượng, như sau.

Dim w As New Widget 

Nhưng không phải bằng chuỗi hoặc biến thể.

+0

Điều này không chính xác, nói chung. Bạn có thể khai báo và khởi tạo một biến trên cùng một dòng với bất kỳ kiểu dữ liệu (giá trị hoặc đối tượng nào), chỉ đơn giản là tách "hành động" với dấu chấm phẩy ':'. Có một số hạn chế vì bạn không thể có nhiều khai báo giá trị trên cùng một dòng (tức là 'var1 = val1: var2 = val2'). Nó sẽ lỗi ra ngoài không thường xuyên và cho phép bạn thực hiện loại nhiệm vụ này đôi khi nhưng toàn bộ không được gợi ý bởi ký hiệu này. – GoldBishop

+1

@ GoldBishop, vâng, sử dụng dấu hai chấm để kết hợp nhiều câu lệnh thành một dòng đơn thường hoạt động (như Alex K. đã nói). Những gì tôi nói sẽ không làm việc với các chuỗi hoặc các biến thể (hoặc có thể với các nguyên thủy khác) là cú pháp 'Dim x As New T', chỉ hoạt động với các đối tượng. –

+0

yeah wont làm việc trên một đường khởi tạo Constructor nhưng nó sẽ làm việc với các phép gán biến thể và chuỗi. Tôi sử dụng nó tất cả thời gian cho các loại giá trị và một số loại đối tượng. 'dim str như String: str =" value "' và 'dim str như Worksheet: set str = ActiveWorkbook.worksheets (" Sheet1 ")' cả hai hoạt động liên tục. Mặc dù, nếu tôi làm một Object instantiation 'dim ws như New Worksheet: set ws = ActiveWorkbook.Worksheets (" Sheet1 ")' sẽ lỗi như một hoạt động không hợp lệ khác trong VBA. – GoldBishop

2

trên thực tế, bạn có thể, nhưng không phải như vậy.

Sub MySub(Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True) 

'code... 

End Sub 

Và bạn có thể đặt các biến khác nhau khi gọi phụ hoặc cho phép các giá trị mặc định của chúng.

+1

Đây là đối số, không phải là biến cục bộ. –

Các vấn đề liên quan