Chỉnh sửa định dạng ?

Liên hệ QC

Nguyen Rem

Tất cả chỉ là đưa ra quyết định đúng đắn
Tham gia
23/2/22
Bài viết
211
Được thích
30
Giới tính
Nữ
Em chào các anh chị ^^ . Em đang có một vài vấn đề sau rất mong các anh chị giải thích và khắc phục giúp em .
Vấn đề 1:
Em đang tạo code để nhập dữ liệu từ file text vào excel . Trong File text của em nó có định dạng là +1 nhưng import vào excel xong thì nó thành 1(kiểu number).
Hình như sau:
1654166623813.png
Em có khắc phục bằng cách thêm ký tự "'" vào dòng code thì nó chuyển thành dạng string thật :> Nhưng mà ở trên "Thanh gì đó" nó lại xuất hiện ký tự "'" . Em không muốn điều đó xảy ra.
1654166768221.png
1654166840737.png
Câu hỏi 1:
Vậy có cách nào chuyển định dạng của nó không ạ ?(Các anh chị chỉnh theo bài làm của em nhé ^^)

Vấn đề 2:
Sau khi import xong thì em muốn lấy NGẪU NHIÊN lần lượt 70% , 20% và 10% dữ liệu rồi in lần lượt vào 3 workbook mới . Em vẫn chưa có ý tưởng gì để giải quyết vấn đề này . Mong được các anh chị chỉ bảo ^^
 

File đính kèm

  • VanKip!!!.xlsm
    693.4 KB · Đọc: 4
  • sentiment.txt
    1.2 MB · Đọc: 4
Vấn đề 1:
Em đang tạo code để nhập dữ liệu từ file text vào excel . Trong File text của em nó có định dạng là +1 nhưng import vào excel xong thì nó thành 1(kiểu number).
Hình như sau:

Em có khắc phục bằng cách thêm ký tự "'" vào dòng code thì nó chuyển thành dạng string thật :> Nhưng mà ở trên "Thanh gì đó" nó lại xuất hiện ký tự "'" . Em không muốn điều đó xảy ra.

Câu hỏi 1:
Vậy có cách nào chuyển định dạng của nó không ạ ?(Các anh chị chỉnh theo bài làm của em nhé ^^)

Không muốn thêm dấu "'", bạn có thể định dạng vùng chứa dữ liệu là "text" trước, thêm dòng này vào đầu sub:

Mã:
Range("A:B").NumberFormat = "@"

.
 
Upvote 0
Không muốn thêm dấu "'", bạn có thể định dạng vùng chứa dữ liệu là "text" trước, thêm dòng này vào đầu sub:

Mã:
Range("A:B").NumberFormat = "@"

.
Em có làm theo cách của anh chỉ rồi nhưng nó vẫn có cái dấu "'" ở trên đầu ạ :>
 
Upvote 0
2. Dạng chọn k phần tử ngẫu nhiên trong n phần tử có nhiều bài rồi.
 
Upvote 0
Dạ vâng ạ ! Nó vẫn không hết dấu ' anh ạ . Mặc dù em thử khá nhiều lần rồi
Tập tin không có "'", code không thêm "'" nữa mà kết quả có "'" thì là nói dối.

Nếu Range("A" & (i + 1)) = Left(Trim(Arr(i)), B) thì dữ liệu trong cột A đều có dấu cách " " ở cuối.

Hoặc

Range("A" & (i + 1)) = Trim(Left(Arr(i), B))

hoặc

Range("A" & (i + 1)) = Left(Arr(i), B-1)
 
Upvote 0
Tập tin không có "'", code không thêm "'" nữa mà kết quả có "'" thì là nói dối.
Ui ! Em có lợi gì khi mà nói dối đâu anh
Link video(https://drive.google.com/drive/folders/1ucLPct4tNjC0sgX84k5GrnkdMWQxz6RT)
Range("A" & (i + 1)) = Left(Arr(i), B-1)
Đúng là em sơ ý thật ^^ . Nhưng lúc em thử trường hợp này thì nó lại gây lỗi anh ạ . Anh giải thích cho em với !
1654174323062.png
 

File đính kèm

  • VanKip!!!.xlsm
    695.9 KB · Đọc: 1
Upvote 0
Ui ! Em có lợi gì khi mà nói dối đâu anh
Link video(https://drive.google.com/drive/folders/1ucLPct4tNjC0sgX84k5GrnkdMWQxz6RT)

Đúng là em sơ ý thật ^^ . Nhưng lúc em thử trường hợp này thì nó lại gây lỗi anh ạ . Anh giải thích cho em với !
View attachment 276808
If B Then Range("A" & (i + 1)).Value = Left(Arr(i), B-1)

hoặc

If B > 0 Then Range("A" & (i + 1)).Value = Left(Arr(i), B-1)
 
Upvote 0
Em nhìn cấu trúc sau từ khóa Then nhìn lạ quá anh ạ . Em thật sự không hiểu ý anh nói là gì
If B là cách viết không tường minh. Viết tường minh thì phải là If B > 0 hoặc If B <> 0 (tổng quát)

Dấu cách nằm ở vị trí B, mà cần lấy tới ký tự TRƯỚC dấu cách nên phải là B - 1

Left(Arr(i), B-1)


Còn Range("A" & (i + 1)).Value = Left(Arr(i), B-1) là câu lệnh hợp lệ mà. Đó là câu lệnh của bạn, tôi chỉ thêm điều kiện để xử lý trường hợp B = 0 thôi.

Viết

If B > 0 Then Range("A" & (i + 1)).Value = Left(Arr(i), B-1)

hay

If B > 0 Then
Range("A" & (i + 1)).Value = Left(Arr(i), B-1)
End If


đều được.

Nếu ý bạn khác thì nói rõ ra. Tôi không giỏi chơi trò "đoán ý đồng đội đâu". Nói cụt lủn thì sang nhà khác hỏi nhé.
 
Upvote 0
If B là cách viết không tường minh. Viết tường minh thì phải là If B > 0 hoặc If B <> 0 (tổng quát)

Dấu cách nằm ở vị trí B, mà cần lấy tới ký tự TRƯỚC dấu cách nên phải là B - 1

Left(Arr(i), B-1)


Còn Range("A" & (i + 1)).Value = Left(Arr(i), B-1) là câu lệnh hợp lệ mà. Đó là câu lệnh của bạn, tôi chỉ thêm điều kiện để xử lý trường hợp B = 0 thôi.

Viết

If B > 0 Then Range("A" & (i + 1)).Value = Left(Arr(i), B-1)

hay

If B > 0 Then
Range("A" & (i + 1)).Value = Left(Arr(i), B-1)
End If


đều được.

Nếu ý bạn khác thì nói rõ ra. Tôi không giỏi chơi trò "đoán ý đồng đội đâu". Nói cụt lủn thì sang nhà khác hỏi nhé.
Dạ vâng ạ ! Anh trả lời đúng thứ em đang cần rồi ạ . Tại em thấy câu lệnh nó khác bình thường nên em mới thắc mắc thôi ạ .
Range("A" & (i + 1)).Value = Left(Arr(i), B-1)
Lần sau em sẽ viết thật rõ ràng ý của em ra ạ (Ngại quá đi ^^) .
Em cảm ơn anh và mọi người đã bỏ thời gian ra để cùng em giải quyết . Cảm ơn mọi người rất nhiều
 
Upvote 0
Em cảm ơn anh và mọi người đã bỏ thời gian ra để cùng em giải quyết . Cảm ơn mọi người rất nhiều
Bạn gặp may. Tiêu đề của bạn không rõ ràng và quá chung chung. Chỉnh sửa định dạng cái gì? Chuyện gì đã xảy ra và cần định dạng? Chỉnh sửa bằng định dạng hay bằng VBA?
Bạn may ở chỗ các anh bên trên đang vui hoặc đang "giết sâu bọ" mùng 5 Đoan Ngọ bằng trái cây ngọt. Nếu bằng cơm rượu nếp thì toi giống như vụ "ca khó đỡ"
 
Upvote 0
Bạn gặp may. Tiêu đề của bạn không rõ ràng và quá chung chung. Chỉnh sửa định dạng cái gì? Chuyện gì đã xảy ra và cần định dạng? Chỉnh sửa bằng định dạng hay bằng VBA?
Bạn may ở chỗ các anh bên trên đang vui hoặc đang "giết sâu bọ" mùng 5 Đoan Ngọ bằng trái cây ngọt. Nếu bằng cơm rượu nếp thì toi giống như vụ "ca khó đỡ"
Em nghĩ cái Ảnh đại diện của bạn ấy quyết định khá nhiều anh ạ không phải là do sâu bọ đâu
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom