boyxin
Members actively
- Tham gia
- 10/3/08
- Bài viết
- 1,664
- Được thích
- 2,335
các bác ui, xem giúp em trong file này em chạy mỗi tý là hiện thông báo lỗi VBA và dừng luôn, không hiều VBA bị trục trặc chỗ nào các bác xem và xử lý giúp
-File trên mắc lỗi tràn bộ nhớ, do bạn khai báo biến i as byte mà chiều dài text của bạn vượt quá 255. Cách khắc phục: Giảm chiều dài text hoặc khai báo biến kiểu Integer.
HI, cảm ơn thầy voda nhiều nhiều
- Chiều dài text thì không cắt ngắn được,
vì em làm file để chức mừng các thành viên nhân ngày sinh nhật 15-6
(đó là tên các thành viên sinh nhật ngày hôm nay - sẽ chỉ có thể dài thêm)
hiện tại LEN(text)=409- Xin thầy nói thêm về hướng khắc phục
- khai báo biến kiểu Integer thì chiều dài text tối đa là bao nhiêu? (đã khai báo lại kiểu Integer vẫn lỗi)
- có thể ngắt thành 2 hoặc 3 đoạn cho những đoạn này cùng chạy được không?
Biến Integer : Chạy theo chiều dài của biến StringThere are two kinds of strings: variable-length and fixed-length strings.
- A variable-length string can contain up to approximately 2 billion (2^31) characters.
- A fixed-length string can contain 1 to approximately 64K (2^16) characters.
Bill đã viết:-32,768 to 32,767; fractions are rounded.
!!Bill đã viết:-2,147,483,648 to 2,147,483,647; fractions are rounded.
Option Explicit
Public RunText As Boolean
Public Sub StartRunText()
Dim t As Single, i As Integer, j As Byte
Dim x As String, y As String, Text As String
RunText = True
With Sheet1.Range("NameText")
.Value = Sheet1.Range("Text")
i = 1
Do
Text = .Value
If i > Len(Text) Then i = 1
x = Left(Text, 1): y = Right(Text, Len(Text) - 1)
Text = y + x: .Value = Text
.Characters(Start:=1, Length:="" & Len(Text) - i & "").Font.ColorIndex = 4
.Characters(Start:="" & Len(Text) - i & "", Length:="" & i & "").Font.ColorIndex = 5
Shapes("WordArt1").IncrementRotation (5)
t = Timer
Do
DoEvents
Loop Until Timer - t > 0.2
i = i + 1
Loop Until Not RunText
End With
End Sub
Em làm đến đây thì gặp 1 vấn đề là khi nối chuổi đầu với cuối lại thì được nhưng muốn có thêm vài khoảng trắng giữa đầu và cuối thì không được?
Bác nào giúp em phần này với.
b = Sheet1.Range("B22").Text & " "