Chuyên mục xử lý, gỡ rối code VBA (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Status
Không mở trả lời sau này.

ndu96081631

Huyền thoại GPE
Thành viên BQT
Super Moderator
Tham gia
5/6/08
Bài viết
30,703
Được thích
53,957
Thầy Ndu! chỉnh lại hộ em đoạn code file dưới với ạ. đoạn code mọi khi em vẫn dùng, nhưng hnay giữ liệu nhiều hơn bị lỗi khả năng do vùng làm việc nhỏ quá nên lỗi nhờ thầy xem cho em với..
Trên đầu code có:
Mã:
dArr(1 To 1000, 1 To 7)
Thử sửa lại thành:
Mã:
dArr(1 To 10000, 1 To 7)
Lưu ý:
- Lần sau đưa code lên mà khóa pass tôi không làm đâu
- Thứ nữa là: do bạn khóa pass VBA nên khi thông báo lỗi xuất hiện, nút Debug bị mờ không bấm vào được nên không biết lỗi chỗ nào
------------------------------
Nghĩ cũng lạ: Những người viết code gà mờ lại cứ khoái khóa VBA. Có cái "CỦA QUÝ" trong đó à?
 
Upvote 0
mk: 0706976699 thầy ạ
 
Upvote 0
Trên đầu code có:
Mã:
dArr(1 To 1000, 1 To 7)
Thử sửa lại thành:
Mã:
dArr(1 To 10000, 1 To 7)
Lưu ý:
- Lần sau đưa code lên mà khóa pass tôi không làm đâu
- Thứ nữa là: do bạn khóa pass VBA nên khi thông báo lỗi xuất hiện, nút Debug bị mờ không bấm vào được nên không biết lỗi chỗ nào
------------------------------
Nghĩ cũng lạ: Những người viết code gà mờ lại cứ khoái khóa VBA. Có cái "CỦA QUÝ" trong đó à?
Thầy ơi! mk là 0706976699, vẫn bị lỗi thầy vào file xem dùm lại hộ e với ạ.. có thể cải thiện được tốc độ code này không ạ!
 
Upvote 0
Trên đầu code có:
Mã:
dArr(1 To 1000, 1 To 7)
Thử sửa lại thành:
Mã:
dArr(1 To 10000, 1 To 7)
Lưu ý:
- Lần sau đưa code lên mà khóa pass tôi không làm đâu
- Thứ nữa là: do bạn khóa pass VBA nên khi thông báo lỗi xuất hiện, nút Debug bị mờ không bấm vào được nên không biết lỗi chỗ nào
------------------------------
Nghĩ cũng lạ: Những người viết code gà mờ lại cứ khoái khóa VBA. Có cái "CỦA QUÝ" trong đó à?
Hihi. Có cái "CỦA QUÝ". Thầy vui tính thật.!
 
Upvote 0
Chào các anh chị trên diễn đàn!
Em không rành về vba lắm nhưng đang muốn làm một file để nhập vập liệu dùng vba mong các anh chị giúp đỡ. Mục đích cả e là khi chọn ô trong cột C3 của sheet VL thì sẽ hiện listview mà nội dung chứa trong sheet DLDV ( vùng masanpham Danh sách vật liệu). Code em không rành lắm nên chỉ đi sưu tầm mong các anh chị giúp đỡ.

Em cảm ơn!
 

File đính kèm

Upvote 0
Em chào các anh chị và thầy cô trên GPE
Em muốn xóa các dòng từ dòng 1000 của cột J trở ngược lên trên đến dòng cuối của bảng tính ( dòng cuối của bảng tính được xác định theo cột A)
Em có làm 1 code Loay hoay mãi nhưng vẫn không chạy được
Mong các anh chị và thầy cô trên GPE giúp em xử lý code
Chi tiết trong file gửi kèm
Chi tiết code
Sub Button1_Click()
Dim LastRow As Long
Dim X As Integer
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
X = LastRow + 1
Sheets("Sheet1").Select
Rows(X & ": J1000").Select
Selection.EntireRow.Delete
End Sub
 

File đính kèm

Upvote 0
Em chào các anh chị và thầy cô trên GPE
Em muốn xóa các dòng từ dòng 1000 của cột J trở ngược lên trên đến dòng cuối của bảng tính ( dòng cuối của bảng tính được xác định theo cột A)
Em có làm 1 code Loay hoay mãi nhưng vẫn không chạy được
Mong các anh chị và thầy cô trên GPE giúp em xử lý code
Chi tiết trong file gửi kèm
Chi tiết code
Sub Button1_Click()
Dim LastRow As Long
Dim X As Integer
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
X = LastRow + 1
Sheets("Sheet1").Select
Rows(X & ": J1000").Select
Selection.EntireRow.Delete
End Sub
Bạn thử như vầy xem::
PHP:
Sub Button1_Click()
Dim LastRow As Long
LastRow = Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Rows(LastRow & ":1000").Clear
' Hoặc:' 
'Rows(LastRow & ":1000").EntireRow.Delete'
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Em chào các anh chị và thầy cô trên GPE
Em muốn xóa các dòng từ dòng 1000 của cột J trở ngược lên trên đến dòng cuối của bảng tính ( dòng cuối của bảng tính được xác định theo cột A)
Em có làm 1 code Loay hoay mãi nhưng vẫn không chạy được
Mong các anh chị và thầy cô trên GPE giúp em xử lý code
Chi tiết trong file gửi kèm
Chi tiết code
Sub Button1_Click()
Dim LastRow As Long
Dim X As Integer
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
X = LastRow + 1
Sheets("Sheet1").Select
Rows(X & ": J1000").Select
Selection.EntireRow.Delete
End Sub
 

File đính kèm

Upvote 0
Cảm ơn thầy Ba tê đã giúp đỡ. Code chạy rất tuyệt
Riêng code của bạn NguyenNgocThuHien còn cẩn thận thêm phần thông báo. Cảm ơn bạn đã chu đáo. Quang rất cảm ơn :)
 
Upvote 0
Topic Những câu hỏi về code, xin giải thích các code... đã quá dài nên mình đóng nó lại và mở topic khác
Tất cả những bài viết liên quan đến việc nhờ giải thích, xử lý và gỡ rối code VBA, các bạn vui lòng đăng tại đây!
Cảm ơn
xin giúp mình làm file update file nguồn mà file nguồn không cần mở lên lên để update dữ liệu

VD : file tổng lấy dữ liệu từ file 1 ,2 , 3 , 4 , vvvv . file 1 ,2,3,4 sẽ đc update từ 1 file nguồn .

mình chỉ cần thêm dữ liệu từ file nguồn rồi mở file tổng thì file tổng sẽ tự lấy dữ liệu mới từ file 1,2,3,4 . mà ko cần phải mở file 1,2,3,4 để update dữ liệu .

cảm ơn nhiều .
 
Upvote 0
Bác nào chỉ em cách dùng code tại #1 bài này với, tải về mà chả biết dùng ra sao (đề tài này đã lâu chả ai ngó ngàng tới cả), hình như là nó không tác dụng khi thao tác trên trang tính thì phải.
em thử bật file có code đó rồi chọn vào cửa sổ khác (ví dụ: cửa sổ trình duyệt wed) rồi nhấn phím bất kỳ, lúc này code VBA lại chạy và trả về đúng với số keycode, nhưng lại chỉ có tác dụng như bước làm bên trên chứ code không chạy khi đang chọn để thao tác trên trang tính.
 
Upvote 0
xin giúp mình làm file update file nguồn mà file nguồn không cần mở lên lên để update dữ liệu

VD : file tổng lấy dữ liệu từ file 1 ,2 , 3 , 4 , vvvv . file 1 ,2,3,4 sẽ đc update từ 1 file nguồn .

mình chỉ cần thêm dữ liệu từ file nguồn rồi mở file tổng thì file tổng sẽ tự lấy dữ liệu mới từ file 1,2,3,4 . mà ko cần phải mở file 1,2,3,4 để update dữ liệu .

cảm ơn nhiều .
 

File đính kèm

Upvote 0
nhờ mấy anh chị trên diễn đàn rút gọn đoạn code trên cho em với, cái này em dùng Record Macro ghi lại nhưng chưa hiểu hết mong các anh giúp em với .
và nhờ mọi người giúp em đoạn code để lọc cho các sheet còn lại với.
em cám mọi người ơn nhiều
Mã:
Sub Macro1()
'
' Macro1 Macro
'
'
    Range("R10").Select
    ActiveCell.FormulaR1C1 = "=IF(COUNTIF(R10C3:RC[-15],RC[-15])>1,"""",RC[-15])"
    Range("R10").Select
    Selection.AutoFill Destination:=Range("R10:R2650"), Type:=xlFillDefault
    Range("R10:R2650").Select
    Selection.AutoFilter
    ActiveSheet.Range("$R$10:$R$2650").AutoFilter Field:=1, Criteria1:=Array( _
        "5-T-TP-DDK", "8-TCLT-TP-DDK", "A300", "A300- viê`n khung bao", _
        "C101A-T0.9 (18.2x16)", "C1687 (60x14.2)", "C1697 (60x25.3)", "C3033", _
        "C3033 (51x52.4x1.4)", "C3202 (54.8x76)", "C3202A-T1.2 (54.8x76)", _
        "C3203 (54.8x68)", "C3203-T1.2 (54.8x68)", "C3209 (54.8x50)", _
        "C3209-T1.2 (54.8x50)", "C3295 (37.3x23.5)", "C3303 (54.8x87)", _
        "C3303-T1.2 (54.8x87)", "C3304 (54.5x138)", "C3304-T1.2 (54.5x138)", _
        "C3313 (54.8x68)", "C3313-T1.2 (54.8x68)", "C3318 (54.8x50)", _
        "C3318-T1.2 (54.8x50)", "C3323-T1.2 (50x57.2)", "C3328-T1.2 (54.8x66)", _
        "C3329 (40.7x21.6)", "C3332 (54.8x87)", "D1541A-T1.2(93.4x40)", _
        "D1541A-T2.0 (93.4x40)", "D1543A-T1.2 (98x34)", "D1543A-T2.0 (98x34)", _
        "D1544A-T1.2 (28.9x50)", "D1544A-T2.0 (28.9x50)", "D1545A-T1.2(28.9x61.5)", _
        "D1546A-T1.2 (62x33.7)", "D1546A-T2.0 (62x33.7)", "D1546C-T2.0 (85x33.7)", _
        "D1547A-T1.2 (50x39.2)", "D1547A-T2.0 (50x39.2)", "D1547C-T2.0 (85x39.2)", _
        "D1548A-T2.0 (39.5x20)", "D1549A-T2.0 (98x21.3)", "D1551A-T1.8 (93.4x62.8)", _
        "D1555A-T1.2 (28.9x71.5)", "D1555A-T2.0 (28.9x71.5)", "D1559A-T2.0 (93.4x38.8)", _
        "D17182-T1.2 (93.4x25.5)", "D17182-T2.0 (93.4x25.5)", "D17182-T2.0 (93.4x40)", _
        "D2618A-T2.0 (92.4x50.6)", "DA2006 (19x19x0.8)", "DA3001 (100.3X9.8)", _
        "ÐGCBG-HH,L,T", "DK-5", "DLM", "EP041K", "EP163K", "F347 (95x31.6)", "GO-GC55", _
        "GO-GC56", "KB", "KEG", "KTC", "MTC-UK", "NBM3.9", "NC-UK", "NDV", "NRS", "TCVLD-5", _
        "Vi3,9x19", "Vi3,9x40", "VN-M5x70", "ZL.3x9 (SP3x9)", "ZL.7x5 (SP7x5)"), Operator _
        :=xlFilterValues
    Selection.Copy
    Sheets("THVT").Select
    Range("C9").Select
    ActiveSheet.Paste
    ActiveWindow.SmallScroll Down:=-6
    Sheets("PTVT").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Selection.ClearContents
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=-24
    Sheets("THVT").Select
    Range("G9").Select
    ActiveCell.FormulaR1C1 = "=SUMIF(PTVT!C3,THVT!RC[-4],THVT!C[2])"
    Range("G9").Select
    ActiveCell.FormulaR1C1 = "=SUMIF(PTVT!C3,THVT!RC[-4],PTVT!C[2])"
    Range("G9").Select
    Selection.AutoFill Destination:=Range("G9:G84"), Type:=xlFillDefault
    Range("G9:G84").Select
    ActiveWindow.SmallScroll Down:=-54
    Range("H9").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-5],PTVT!R10C3:R2650C17,8,0)"
    Range("H9").Select
    Selection.AutoFill Destination:=Range("H9:H84"), Type:=xlFillDefault
    Range("H9:H84").Select
    ActiveWindow.SmallScroll Down:=-57
    Range("I9").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],PTVT!R9C3:R2650C17,1,0)"
    Range("I9").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-6],PTVT!R9C3:R2650C17,10,0)"
    Range("I9").Select
    Selection.AutoFill Destination:=Range("I9:I84"), Type:=xlFillDefault
    Range("I9:I84").Select
    ActiveWindow.SmallScroll Down:=-39
    Range("J9").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-7],PTVT!R9C3:R2650C17,12,0)"
    Range("J9").Select
    Selection.AutoFill Destination:=Range("J9:J84"), Type:=xlFillDefault
    Range("J9:J84").Select
    ActiveWindow.SmallScroll Down:=-84
    Range("K9").Select
    ActiveCell.FormulaR1C1 = ""
    Range("L9").Select
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-9],PTVT!R10C3:R2650C17,14,0)"
    Range("L9").Select
    Selection.AutoFill Destination:=Range("L9:L84"), Type:=xlFillDefault
    Range("L9:L84").Select
    ActiveWindow.SmallScroll Down:=-39
    Range("J25").Select
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Em sử dụng VBA để tính đường kính dây điện theo chủng loại (trong sheet Data_Cable)
Nhưng chạy ra VBA báo lỗi case without select case
Mã:
If Insulator = "PVC" Then
    Select Case Core
        Case "1C"
            For i = 1 To 16
                If AreaConductor = ThisWorkbook.Worksheets(1).Cells(i + 7, "A") Then
                    DK = ThisWorkbook.Worksheets(1).Cells(i + 7, "E")
                End If
            Exit For
        Case "2C"
            For i = 1 To 16
                If AreaConductor = ThisWorkbook.Worksheets(1).Cells(i + 7, "R") Then
                    DK = ThisWorkbook.Worksheets(1).Cells(i + 7, "AB")
                End If
            Exit For
        Case "3C"
            For i = 1 To 16
                If AreaConductor = ThisWorkbook.Worksheets(1).Cells(i + 7, "AI") Then
                    DK = ThisWorkbook.Worksheets(1).Cells(i + 7, "AS")
                End If
            Exit For
        Case "4C"
            For i = 1 To 16
                If AreaConductor = ThisWorkbook.Worksheets(1).Cells(i + 7, "AI") Then
                    DK = ThisWorkbook.Worksheets(1).Cells(i + 7, "BJ")
                End If
            Exit For
    End Select
End If
Các bác xem giúp em với
Em cảm ơn.
 

File đính kèm

Upvote 0
Hi các anh chị trong diễn đàn. Em mới chập chững học VBA nên chưa biết nhiều nên đăng bài nhờ các anh chị cao tay chỉ giáo. Chả là em có làm 1 Form nhập liệu, sau khi nhập liệu xong thì phải ấn vào button click Nhập thì Form mới nhập giá trị vào bảng, có cách nào để gán các phím như F1, F2 chạy song song cùng button click nhập không ạ ( có thể nhập bằng cách click vào chữ Nhập hoặc ấn F1 ấy ạ). CẢm ơn anh chị ạ.
upload_2017-5-26_18-12-36-png.176402
upload_2017-5-26_18-13-0-png.176403
 

File đính kèm

  • upload_2017-5-26_18-19-2.png
    upload_2017-5-26_18-19-2.png
    117.1 KB · Đọc: 1
  • upload_2017-5-26_18-19-28.png
    upload_2017-5-26_18-19-28.png
    117.1 KB · Đọc: 1
Upvote 0
Các bạn cho hỏi:
Thí dụ: Tại A1 khi mình nhập số 1 thì tại ô B1 sẽ hiển thị nội dung: - xxxx. Khi A1 nhập số 2 thì ô B1 sẽ hiển thị 2 dòng: -xxxx
-xxxx
Trong cùng ô B1.
Vậy các bạn cho hỏi mình phải viết code ntn. Vba thì mình đang bắt đầu học, việc này đang cần gấp. Mong mọi người giúp đỡ. Xin cám ơn.
 
Upvote 0
chào mọi người. tình hình là thầy giáo giao cho em nhiệm vụ lập trình vba để nhúng phần mềm thứ 3 là sap2000 để điều kiển sap2000? vậy cho e hỏi như thế có thể làm được không ạ? và độ khó cho 1 người chưa biết về vba là thế nào ạ? Em cảm ơn mọi người, hi vọng mọi người góp ý ạ!!!
 
Upvote 0
Nhờ mọi người giúp đỡ: mình muốn khóa chức năng in lại, muốn in tài liệu ra thì cần phải nhập mật khẩu
bác nào giúp với
 
Upvote 0
Chào Anh Chị.
Em viết một hàm tự tạo, em test trong VBA thì chạy đúng, nhưng khi ra ngoài Excel gõ thì nó lại không ra kết quả. Anh Chị chỉ giúp lỗi để em sửa.
PHP:
Function SplitProvince(ByVal Province As String, ByVal delimiter As String) As String
    Dim intdem As Integer
    Dim intPos As Integer
        For intdem = Len(Trim(Province)) To 1 Step -1
        If Mid(Province, intdem, 1) = delimiter Then
            intPos = intdem
            Exit For
        End If
        Next intdem
 SplitProvince = Trim(Right(Province, Len(Province) - intdem))
End Function
1./Khi test trong VBA, kết quả chạy ngon lành.
PHP:
Sub test()
    Cells(1, 2).Value = SplitProvince((Range("A1").Value), ",")
End Sub
2./Khi ra ngoài Excel gõ : SplitProvince(text,",")-->chạy không được.
 

File đính kèm

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