Chuyên đề giải đáp những thắc mắc về code VBA

Liên hệ QC

maytinhvp01

Thành viên thường trực
Tham gia
27/7/13
Bài viết
390
Được thích
179
Mình muốn nhờ giải thich câu lệnh " If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c) "
trong ví du:
Public Function LonNhat(Ran As Range)
Dim max As Double, v As Integer, d As Integer, c As Integer
max = Ran.Cells(1, 1)
For d = 1 To Ran.Rows.Count
For c = 1 To Ran.Columns.Count
If Ran.Cells(d, c) > max Then max = Ran.Cells(d, c)
Next c
Next d
v = Tim(max, Ran)
LonNhat = max
End Function
-------------------------------------------------------
[INFO1]Thông báo:
Vì topic này:
http://www.giaiphapexcel.com/forum/...ải-thích-các-code-đề-nghị-các-bạn-gửi-vào-đây
đã quá dài nên BQT đóng lại.
Nay tôi mở topic mới với cùng chủ đề: GIẢI THÍCH NHỮNG THẮC MẮC VỀ CODE
Các bạn nếu có nhu cầu giải thích code, vui lòng post tại đây nhé
NDU96081631

[/INFO1]
 
Chỉnh sửa lần cuối bởi điều hành viên:
Em chào Anh Chị,
Trong sự kiện Workbook_Open
Em đang để Sheet 2 được mở ra lúc mở file như code dưới đây.
Mã:
Private Sub Workbook_Open()
    Sheet2.Select
End Sub

Em muốn chỗ Sheet2.Select có thể tùy biến tại ô H3 ở sheet1 (tức là ở sheet 1 ô H3 Em chọn sheet nào thì sau này khi mở file sheet đó sẽ được mở ra )
Em có sửa code như dưới đây. Nhưng chưa được.

Private Sub Workbook_Open()
Sheet1.Range("H3").Value.Select
End Sub

Mong Anh Chị xem giúp Em. Cảm ơn Anh Chị!
Gán cho nó bằng một biến ví dụ S= sheet1.range("h3").Value
sau đó là sheets(s).select
Bài đã được tự động gộp:

Cụ thể là vầy
Mã:
Dim S As String
    S = Sheet1.Range("H3").Value
Sheets(S).Select
hoặc chơi thẳng vầy
Mã:
Sheets(Sheet1.Range("H3").Value).Select
 
Upvote 0
Thử như sau nha bạn

Sheet1.Select
Range("H3").select
Anh ơi Em chạy code thì nó vẫn đứng im ở sheet 1 Anh ạ. Anh xem giúp Em với nhé. Cảm ơn Anh!

1608283980326.png
Bài đã được tự động gộp:

Gán cho nó bằng một biến ví dụ S= sheet1.range("h3").Value
sau đó là sheets(s).select
Bài đã được tự động gộp:

Cụ thể là vầy
Mã:
Dim S As String
    S = Sheet1.Range("H3").Value
Sheets(S).Select
hoặc chơi thẳng vầy
Mã:
Sheets(Sheet1.Range("H3").Value).Select
Mình chạy code đã được rồi. Cảm ơn Bạn Cu Tồ nhiều!
 
Upvote 0
Em chào anh/chị. Anh chị có thể cho em code của lệnh chuyển đổi file exel sang file PDF không ạ. Em mong muốn khi click vào hình có chữ Chuyển đổi PDF trong file thì sẽ thực hiện việc chuyển đổi tự động và lấy tên file ở Cell tô màu vàng. Em cảm ơn anh chị
 

File đính kèm

  • ChuyenPDF.xlsx
    11.5 KB · Đọc: 7
Upvote 0
Em chào anh/chị. Anh chị có thể cho em code của lệnh chuyển đổi file exel sang file PDF không ạ. Em mong muốn khi click vào hình có chữ Chuyển đổi PDF trong file thì sẽ thực hiện việc chuyển đổi tự động và lấy tên file ở Cell tô màu vàng. Em cảm ơn anh chị
Dùng đoạn code sau:
Mã:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\" & ThisWorkbook.ActiveSheet.Name & ".pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
 

File đính kèm

  • ChuyenPDF.xlsm
    20.9 KB · Đọc: 12
Upvote 0
Dùng đoạn code sau:
Mã:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    ThisWorkbook.Path & "\" & ThisWorkbook.ActiveSheet.Name & ".pdf", _
    Quality:=xlQualityStandard, IncludeDocProperties:=True, _
    IgnorePrintAreas:=False, OpenAfterPublish:=False
Anh cho em xin phép hỏi thêm là có cách nào lấy tên file PDF theo tên mình mong muốn không ạ chứ kg lấy tên file theo tên Sheet. Như trong file này em muốn file PDF được trích ra nhưng lấy tên theo Cell F1 em bôi vàng. Nếu được mong anh giúp đỡ em cảm ơn anh
 
Upvote 0
Anh cho em xin phép hỏi thêm là có cách nào lấy tên file PDF theo tên mình mong muốn không ạ chứ kg lấy tên file theo tên Sheet. Như trong file này em muốn file PDF được trích ra nhưng lấy tên theo Cell F1 em bôi vàng. Nếu được mong anh giúp đỡ em cảm ơn anh
Sửa chổ
Mã:
ThisWorkbook.ActiveSheet.Name
thành
Mã:
ThisWorkbook.ActiveSheet.[F1]
 
Upvote 0
Em chào anh chị, anh chị cho em hỏi Code VBA để tự động chuyển file exel sang PDF theo như tên mong muốn và lựa chọn được chỗ lưu file PDF theo ý muốn được không ạ, Code trong file em hỏi ở trên thì chỉ lưu được tên theo ý muốn còn vị trí lưu thì lưu cùng với file Exel. Em mong anh chị giúp đỡ ạ, em chân thành cảm ơn.
 

File đính kèm

  • ChuyenPDF.xlsm
    17.9 KB · Đọc: 8
Upvote 0
Em chào anh chị, anh chị cho em hỏi Code VBA để tự động chuyển file exel sang PDF theo như tên mong muốn và lựa chọn được chỗ lưu file PDF theo ý muốn được không ạ, Code trong file em hỏi ở trên thì chỉ lưu được tên theo ý muốn còn vị trí lưu thì lưu cùng với file Exel. Em mong anh chị giúp đỡ ạ, em chân thành cảm ơn.
Bạn xem trong code, sửa chỗ thisworkbook.path thành đường dẫn cụ thể đến nơi bạn muốn.
 
Upvote 0
Bạn xem trong code, sửa chỗ thisworkbook.path thành đường dẫn cụ thể đến nơi bạn muốn.
Em thử sửa như sau mà báo lỗi,Anh có thể sửa mẫu cho em được không ạ vì em không biết về chỉnh sửa code VBA ạ. . Em cảm ơn anh
1609330619886.png
 
Lần chỉnh sửa cuối:
Upvote 0
Em chào anh/chị.
Em hiện nay có cái phiếu ghi nhận năng suất như theo file đính kèm. Em muốn hỏi anh chị cho em xin Code VBA để tự ẩn những dòng không có dữ liệu ạ. Em cảm ơn anh chị
 

File đính kèm

  • Phiếu năng suất.xlsx
    11.9 KB · Đọc: 3
Lần chỉnh sửa cuối:
Upvote 0
Em chào anh/chị.
Em hiện nay có cái phiếu ghi nhận năng suất như theo file đính kèm. Em muốn hỏi anh chị cho em xin Code VBA để tự ẩn những dòng không có dữ liệu ạ. Em cảm ơn anh chị
Sao công chúa không đăng chủ đề mới. Đây là thắc mắc về code, mà công chúa chưa có gì để théc méc.
 
Upvote 0
Xin chào các chuyên gia, mình xin được hỗ trợ về code VBA thay thế SUMIFS để điền công thức SUM khi thỏa mãn 2 điều kiện. Mô tả chi tiết trong file đình kèm.
 

File đính kèm

  • Source1.xlsx
    27.5 KB · Đọc: 4
Upvote 0
Xin chào các chuyên gia, mình xin được hỗ trợ về code VBA thay thế SUMIFS để điền công thức SUM khi thỏa mãn 2 điều kiện. Mô tả chi tiết trong file đình kèm.
Bạn đăng chủ đề mới đi! Tại bài #2875 đã có khuyến cáo rồi đấy.
 
Upvote 0
Xin chào tất cả các Bạn, OT có sưu tầm một đoạn code sau để mở tất cả các file theo ý:
Mã:
Option Explicit

Sub Main()
 
 'Declare a variable as a FileDialog object.
 Dim fd As FileDialog
 
 'Create a FileDialog object as a File Picker dialog box.
 Set fd = Application.FileDialog(msoFileDialogFilePicker)
 
 'Declare a variable to contain the path
 'of each selected item. Even though the path is aString,
 'the variable must be a Variant because For Each...Next
 'routines only work with Variants and Objects.
 Dim vrtSelectedItem As Variant
 
 'Use a With...End With block to reference the FileDialog object.
 With fd
 
 'Allow the selection of multiple file.
 .AllowMultiSelect = True
 
 'Use the Show method to display the File Picker dialog box and return the user's action.
 'The user pressed the button.
 If .Show = -1 Then
 
 'Step through each string in the FileDialogSelectedItems collection
 For Each vrtSelectedItem In .SelectedItems
 
 'vrtSelectedItem is aString that contains the path of each selected item.
 'You can use any file I/O functions that you want to work with this path.
 'This example displays the path in a message box.
 MsgBox "Selected item's path: " & vrtSelectedItem
 
 Next vrtSelectedItem
 'The user pressed Cancel.
 Else
 End If
 End With
 
 'Set the object variable to Nothing.
 Set fd = Nothing
 
End Sub

Giờ với đoạn code trên OT muốn sửa không phải mở cửa sổ để lựa chọn các file muốn nữa mà thay vì thế thì sẽ liệt kê tên các file đó trong các ô tại bảng tính ví dụ A1:A10 của sheet1 thì code trên phải sửa lại thế nào ạ?
 
Upvote 0
Upvote 0
Đó là chọn, chứ đã mở đâu.


Tên có gồm cái đuôi xinh xinh kèm theo không?
Ví dụ: hổ_báo.đuôi_xinh_xinh thì lấy hổ_báo thôi hay hổ_báo.đuôi_xinh_xinh

Đúng rồi @befaint ạ, đó là đã chọn ạ xin lỗi .
Đuôi xinh đó dạng like "*.xls*" ạ, hoặc có thể một dạng đuôi xinh khác ạ.
Nhờ Bạn giúp đỡ OT, cảm ơn Bạn nhiều befaint .
 
Upvote 0
Web KT
Back
Top Bottom