Những câu hỏi về code, xin giải thích các code, đề nghị các bạn gửi vào đây

Liên hệ QC
Status
Không mở trả lời sau này.

ST-Lu!

Love Wingchun
Tham gia
19/8/08
Bài viết
730
Được thích
546
Nghề nghiệp
Xích lô một thời
Kể từ hôm nay, tất cả những câu hỏi nhờ giải thích dùm một đoạn code, hay là hỏi những vấn đề linh tinh gì liên quan đến cách viết code, đề nghị các bạn gửi chung vào đây.

Những đề tài mới với tiêu đề: "Nhờ giải thích dùm đoạn code", mà không nói rõ là code gì, code dùng để làm gì, sẽ bị xóa.

BQT

----------------------------------------------------------------------------------------------------------------


Em xin được hỏi 2 đoạn code sau có tương đương nhau ?

Cells(Cells.Rows.Count, 1).End(xlUp).Row có tương đương với [A65000].End(xlup).row

Cám ơn các anh chỉ giáo
 
Chỉnh sửa lần cuối bởi điều hành viên:
Anh ơi em làm như thế này. Nhưng có thể làm khi mà xuất kết quả sang excel thì ở dòng trên cùng ghi các dòng chữ chú thích ( ví dụ : a,b, S, Jx, Jy) rồi kết quả hiện thị tương ứng ở dòng dưói được không ạ. Và tại sao khi xuất sang excel có khi chỉ hiển thị một bảng trống ko có giá trị ạ. Anh có tài liệu nào viết về phần này gửi cho em xin với ạ. em cảm ơn anh.
http://www.mediafire.com/?u9da230aad1lb7l
 
Lần chỉnh sửa cuối:
Upvote 0
Anh ơi em làm như thế này. Nhưng có thể làm khi mà xuất kết quả sang excel thì ở dòng trên cùng ghi các dòng chữ chú thích ( ví dụ : a,b, S, Jx, Jy) rồi kết quả hiện thị tương ứng ở dòng dưói được không ạ. Và tại sao khi xuất sang excel có khi chỉ hiển thị một bảng trống ko có giá trị ạ. Anh có tài liệu nào viết về phần này gửi cho em xin với ạ. em cảm ơn anh.
http://www.mediafire.com/?u9da230aad1lb7l
Cái này đáng lẽ bạn phải làm được các dòng hiển thị chứ nhỉ? thực chất bạn vẫn chưa hiểu sao?Bạn thay bằng đoạc code này:
PHP:
'hien thi cac lable "
    Range("A1").Value = "a"
    Range("B1").Value = "b"
    Range("C1").Value = "As"
    Range("d1").Value = "S"
    Range("e1").Value = "Jx"
     Range("f1").Value = "Jy"
'Gia tri tinh toan
    Range("A2").Value = a
    Range("B2").Value = b
    Range("C2").Value = dt
    Range("d2").Value = S
    Range("e2").Value = jx
     Range("f2").Value = jy
Còn tài liệu thì mình cũng không có đâu? mà mình nghĩ Quyển sách TDH TKCD của bộ môn TDH là đầy đủ để bạn tham khảo rồi đó, - - còn muốn hơn nữa có lẽ nên thường xuyên lên diễn đàn học hỏi không hiểu thì lên đây hỏi, và đọc thêm .
- Lý do thỉnh thoảng excel trống là do khi xuất dữ liệu lần đầu đã có một file excel rồi để không trống trước khi chạy bạn tắt cái file excel đó trước đi.
 

File đính kèm

  • xuantruong.rar
    10.6 KB · Đọc: 11
Lần chỉnh sửa cuối:
Upvote 0
Khoa Vu à, đoạn Code sau nên viết như sau cho gọn gàng hơn:

'hien thi cac lable "
Range("A1").Value = "a"
Range("B1").Value = "b"
Range("C1").Value = "As"
Range("d1").Value = "S"
Range("e1").Value = "Jx"
Range("f1").Value = "Jy"
'
Gia tri tinh toan
Range
("A2").Value = a
Range
("B2").Value = b
Range
("C2").Value = dt
Range
("d2").Value = S
Range
("e2").Value = jx
Range
("f2").Value = jy

Viết thành:

Mã:
[A1:F1] = Array("a", "b", "As", "S", "Jx", "Jy")
[A2:F2] = Array(a, b, dt, S, jx, jy)
 
Upvote 0
Hi cả nhà,em muốn hỏi tý về excel.
Đề bài cho 1 bảng có HỌ TÊN(Học sinh)--Điểm miệng(3cột)--Điểm 15'(2cột)--điểm 1 tiết(2cột)--điểm học kỳ--Xếp loại--Học bổng
Y/C: tính học bổng:
- nếu xếp loại giỏi thì dc 240k
- nếu XL khá và có đủ điểm miệng thì dc 180k
- nếu XL TB và có đủ điểm 15', 1 tiết và ko có bài nào dưới 6 thì được 100k
- ngoài ra ko có học bổng
Mình đã thử sử dụng kết hợp hàm IF, hàm COUNTIF, hàm AND mà ko ra. Mong cả nhà chỉ giáo cho e với
 
Upvote 0
Có 2 vấn đề với câu hỏi của bạn:
1/Sai Box: Dễ bị xoá .
2/Sao không đưa file mẫu lên. Cứ nghe mô tả ù tai mà chưa chắc đúng.
 
Upvote 0
Em là thành viên mới chào mọi người.
Vừa rồi tìm đuợc code tách chuỗi của anh nde960816131 rất hay. Mình có công thức 2*3+6 tại ô A2 tại ô A3 đánh công thức valexp(a2) mình sẽ được giá trị là 12. Cho em hỏi có cách nào làm ngược lại được không tức là tại ô A3 mình có giá trị 12 tại ô A2 mình muốn lấy công thức tính của A3 là 2*3+6 . Cảm ơn
 
Upvote 0
Em là thành viên mới chào mọi người.
Vừa rồi tìm đuợc code tách chuỗi của anh nde960816131 rất hay. Mình có công thức 2*3+6 tại ô A2 tại ô A3 đánh công thức valexp(a2) mình sẽ được giá trị là 12. Cho em hỏi có cách nào làm ngược lại được không tức là tại ô A3 mình có giá trị 12 tại ô A2 mình muốn lấy công thức tính của A3 là 2*3+6 . Cảm ơn
Bạn tự suy nghĩ đi ---> Ai mà biết số 12 nó là kết quả của phép toán nào chứ
- Có thể là kết quả của 3*4
- Có thể là kết quả của 6 + 6
- Có thể là kết quả của 11 +1
- Có thể là kết quả của 10 + 2
Cả 1 rừng
 
Upvote 0
anh xem file này dùm với em copy của người khác cam ơn

Đương nhiên là có nhiều cách để có được con số 12 tuy nhiên ở đây chỉ có một công thức duy nhất được đánh trong ô A3 và làm sao để mình lấy được công thức đó và cho vào ô A2
 

File đính kèm

  • ABC.xls
    31 KB · Đọc: 10
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
anh xem file này dùm với em copy của người khác cam ơn

Đương nhiên là có nhiều cách để có được con số 12 tuy nhiên ở đây chỉ có một công thức duy nhất được đánh trong ô A3 và làm sao để mình lấy được công thức đó và cho vào ô A2
Bạn xem file đính kèm. Hàm của thành viên GPEX
Nếu muốn có dấu "=" đứng đầu tiên bạn thay dòng code cuối cùng trong file thành:
 

File đính kèm

  • GPEX.xls
    40.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Upvote 0
Cho em hỏi lỗi này là như thế nào , cách khắc phục cảm ơnuntitled.GIF
 
Upvote 0
Chào cả nhà.
Em đang làm Dự toán bí qua nên lên đây nhờ cả nhà giúp đở
1. Trong Sheest"PTVT" em chỉ copy được dữ liệu qua nhưng không thêm hàng (Vật liệu, nhân công , máy thi công được). Do dữ liệu tren 60.000 dòng nên không làm thủ công nổi.
2. trong sheest"THVT" em không biết cách thêm dòng ( (Vật liệu, nhân công , máy thi công)
Em up file lên nhờ cả nhà giúp đỡ giùm em.
Chân thành cảm ơn Cả Nhà.
 

File đính kèm

  • mauDuToan.rar
    28.9 KB · Đọc: 19
Upvote 0
Upvote 0
Chào các bạn,Mình muốn sử dụng đoạn Code sau để copy dữ liệu sau khi Filter,Nhưng không hiểu tại
sao nó không hoạt động.
Code:
Sub CopyAFilter()
Dim Rng As Range
With Sheet3
If Not .FilterMode Then
MsgBox "AutoFilter?": Exit Sub
End If
Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
Count - 1).SpecialCells(xlCellTypeVisible)
'set a range = to visible cells (excluding the header)
Rng.Copy Destination:=Sheet4.Range("A1")
End With
End Sub

* Code này của bạn SA_DQ :http://www.giaiphapexcel.com/forum/showthread.php?1278-%28-h%C6%B0%CC%83ng-ghi-che%CC%81p-v%C3%AA%CC%80-ph%C6%B0%C6%A1ng-th%C6%B0%CC%81c-SpecialCells
Nhờ các bạn xem cho mình với,Cảm ơn các bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn,Mình muốn sử dụng đoạn Code sau để copy dữ liệu sau khi Filter,Nhưng không hiểu tại
sao nó không hoạt động.
Code:
Sub CopyAFilter()
Dim Rng As Range
With Sheet3
If Not .FilterMode Then
MsgBox "AutoFilter?": Exit Sub
End If
Set Rng = .AutoFilter.Range.Offset(1, 0).Resize(.AutoFilter.Range.Rows. _
Count - 1).SpecialCells(xlCellTypeVisible)
'set a range = to visible cells (excluding the header)
Rng.Copy Destination:=Sheet4.Range("A1")
End With
End Sub

* Code này của bạn SA_DQ :http://www.giaiphapexcel.com/forum/showthread.php?1278-%28-h%C6%B0%CC%83ng-ghi-che%CC%81p-v%C3%AA%CC%80-ph%C6%B0%C6%A1ng-th%C6%B0%CC%81c-SpecialCells
Nhờ các bạn xem cho mình với,Cảm ơn các bạn.
- Không hoạt động là thế nào?
- Chạy sub nhưng không có việc gì xảy ra?
- Code báo lỗi?
- Tên sheet trên file bạn có phải là Sheet3 và Sheet4 hay không (SheetCodeName)
- Bạn đã Filter tại sheet3 chưa?
vân vân và vân vân
===> Đưa file lên là mọi chuyện sẽ được giải quyết
 
Upvote 0
- Không hoạt động là thế nào?
- Chạy sub nhưng không có việc gì xảy ra?
- Code báo lỗi?
- Tên sheet trên file bạn có phải là Sheet3 và Sheet4 hay không (SheetCodeName)
- Bạn đã Filter tại sheet3 chưa?
vân vân và vân vân
===> Đưa file lên là mọi chuyện sẽ được giải quyết

Chà,Đúng như bạn ndu hướng dẫn,mình sửa Sheet2 thành Sheet4 nhưng lại không sửa trong (SheetCodeName).Cảm ơn bạn nhiều.
 
Upvote 0
Các anh chị vui lòng giải thích giúp Lamtt code vẽ khung cho bảng!

Các anh chị vui lòng giải thích giúp code vẽ khung cho bảng sau đây:

Sub DrawBorder(Rng As Range)
On Error Resume Next
With Rng
For i = 7 To IIf(Rng.Rows.Count = 1, 11, 12)
.Borders(i).LineStyle = 1
.Borders(i).Weight = IIf(i = 12, 1, 2)
Next
End With
End Sub

Cám ơn các anh, chị.

Lamtt​
 
Upvote 0
If Sh.Name <> "Trang ch" & ChrW(7911) Then
Sh.Visible = .Text = "SHOW ALL"

Anh chị cho em hỏi giờ em ko muốn tên sheet là : trang chủ nữa
Giả sử rằng tên sheet mới là : Menu hoặc Thực Đơn thì sửa tên code này ntn ạ???
Em chưa bít cách đặt tên trong VBA

Chân thành cảm ơn các anh chị !!!
 
Upvote 0
Anh chị cho em hỏi giờ em ko muốn tên sheet là : trang chủ nữa
Giả sử rằng tên sheet mới là : Menu hoặc Thực Đơn thì sửa tên code này ntn ạ???
Em chưa bít cách đặt tên trong VBA

Chân thành cảm ơn các anh chị !!!
Bạn dùng code sau thử xem sau
PHP:
Sub doiten()
Sheet1.Name = "Th" & ChrW(7921) & "c " & ChrW(273) & ChrW(417) & "n"
End Sub
 
Upvote 0
Những số 7921, 273, 417 bác lấy như thế nào ạ??? chữ CHrW là như thế nào??
Các chữ tiếng việt khác thì sao ạ???
Trong VBA không viết code bằng tiếng việt được.Để biết được các chữ đó tác dụng như thế nào bạn thử dùng hàm tự tạo của thành viên trên diễn đàn bạn sẽ hiểu.
PHP:
Function UniVba(TxtUni As String) As String
If TxtUni = "" Then
  UniVba = """"""
Else
  TxtUni = TxtUni & " "
  If AscW(Left(TxtUni, 1)) < 256 Then UniVba = """"
  For n = 1 To Len(TxtUni) - 1
    uni1 = Mid(TxtUni, n, 1)
    uni2 = AscW(Mid(TxtUni, n + 1, 1))
    If AscW(uni1) > 255 And uni2 > 255 Then
      UniVba = UniVba & "ChrW(" & AscW(uni1) & ") & "
    ElseIf AscW(uni1) > 255 And uni2 < 256 Then
      UniVba = UniVba & "ChrW(" & AscW(uni1) & ") & """
    ElseIf AscW(uni1) < 256 And uni2 > 255 Then
      UniVba = UniVba & uni1 & """ & "
    Else
      UniVba = UniVba & uni1
    End If
  Next
  If Right(UniVba, 4) = " & """ Then
    UniVba = Mid(UniVba, 1, Len(UniVba) - 4)
  Else
    UniVba = UniVba & """"
  End If
End If
End Function
- Cách dùng: Bạn dùng bảng mã Unicode nhé
+ Tại một cell bạn gõ (ví dụ :A1 =Giải pháp excel thật tuyệt vời !")
+ Tại cell mới bạn gọi hàm trên :( A2 =UniVba(A1))
 
Upvote 0
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom