Lúc đầu bạn hỏi khác... giờ đưa dữ liệu lên lại khác xa với những gì đã hỏi ---> Chết người ta còn gìGửi bởi nonut
Hic...
Lúc đầu bạn hỏi khác... giờ đưa dữ liệu lên lại khác xa với những gì đã hỏi ---> Chết người ta còn gìGửi bởi nonut
Hic...
hic, bác nhìn kỹ lại cột E rồi giúp nốt em cái phần kích thước để tính ra cân nặng!
Em vẫn chưa xử lý được.
Cột E bạn có sẳn công thức rồi cơ mà... Bạn còn muốn thế nào nữa?Gửi bởi nonut
Có nhưng chưa đủ bác ạ, em vẫn phải ghi lại một cách thủ công kích thước khổ giấy vì giữa chiều dài và chiều rộng có chữ "x" ở giữa (ví dụ 60x80) thì em ko biết cách để nó tự lấy 60*80 được.
Ah... tôi hiểu rồi (nói 1 lần làm luôn có phải khỏe hơn không?)Gửi bởi nonut
Xem file mới này (chú ý các name trong Define name nhé)
Cám ơn bác nhé! Em có chút ý kiến là thay true = số <>0 và False = 0 kết quả vẫn không đổi.
- Để tách lấy phần số, gõ vào B1 công thức : =ExtractStr($A1,"; ",TRUE)
- Để tách lấy phần chữ, gõ vào C1 công thức : =ExtractStr($A1,"; ",FALSE)
Cho em hỏi thêm nữa là: với cái đơn giản hơn:
abc12345
Trong VBA, em muốn tách riêng phần 12345 thành 1 biến mới để sử dụng.
Bác làm cái kết cấu dễ hiểu được không ạ! Em đang tập viết hàm
Nếu chỉ tách số thôi thì sửa hàm trên lại thành:Gửi bởi Xung_Doanh
Càng đơn giảnMã nguồn PHP:
Function ExtractStr(Text As String) As Double On Error Resume Next With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\D" ExtractStr = .Replace(Text, "") End WithEnd Function
Cám ơn bác nhé!
Để em hỏi rõ hơn bằng chính hàm em đang làm bác nhé:
Hàm đây:
Kết quả trả về của hàm này là ghép nối 3 giá trị trong 3 ô a, b, c thành một ô duy nhất với dấu x ở giữa các giá trị trong ô a, b, c.
Public Function kichthuoc(a As String, b As String, c As String) As String
'Ten ba kich thuoc co the xuat hien trong cong thuc tinh KL va DT
Dim e, f As Boolean
Dim k As Double
If b = "" Then
e = False
ElseIf k = Str(Right(b, 2))= 0 Then
e = False
Else
e = True
End If
If c = "" Then
f = False
ElseIf c = 0 Then
f = False
Else
f = True
End If
If e = True And f = True Then
kichthuoc = a + "x" + b + "x" + c
ElseIf e = True And f = False Then
kichthuoc = a + "x" + b
ElseIf e = False And f = True Then
kichthuoc = a + "x" + c
Else
kichthuoc = a
End If
End Function
VD:
a: V
b:60
c: 12
sẽ trả về kết quả là: Vx60x12
Tuy nhiên, em gặp trường hợp nếu cho b và c cũng đều có chữ thì kết quả lại sai .
Em khắc phục bằng cách dùng biến k tách riêng phần số của b ra.
Biến k mình sẽ ghi như thế nào để nó tách riêng phần số của b ra vậy ạ!
Em đang tập viết hàm, bác có thể dựa vào hàm em đang viết được không ạ?
Cám ơn bác một lần nữa.
Tôi đang thắc mắc, tại sao hàm của bạn không là như vầy nhỉ:Gửi bởi Xung_Doanh
Mã nguồn PHP:
Public Function kichthuoc(a As String, b As String, c As String) As String Dim Tmp As String a = Replace(a, " ", vbBack) b = Replace(b, " ", vbBack) c = Replace(c, " ", vbBack) Tmp = a + " " + b + " " + c Tmp = WorksheetFunction.Trim(Tmp) Tmp = Replace(Tmp, " ", "x") kichthuoc = Replace(Tmp, vbBack, " ")End Function
Mình có một câu hỏi về tách chuỗi như thế này:
chuỗi: abc2456xyz9874568ppkh4587985.....
Tách riêng các phần 2456 ra. (nhiều phần số: 2456 ; 9874568 ...)
tách riêng các phần abc ra. (nhiều phần chữ)
Trong đó abc có thể gồm nhiều ký tự.
2456 có thể gồm nhiều số.