Save as file với địa chỉ không cố định

  • Thread starter Thread starter DumLe
  • Ngày gửi Ngày gửi
Liên hệ QC

DumLe

Thành viên mới
Tham gia
5/12/20
Bài viết
2
Được thích
0
Xin chào các Pro.

Hiện tại em đang tập viết VBA. Đã save được file.
Nhưng e muốn save as vào 1 thư mục có địa chỉ tùy thuộc vào ô A1 được không ạ
Ví dụ:
- ô A1 là abc thì: save trong "C:\VBA\abc\abc.xlsx"
- ô A1 là xyz thì: save trong "C:\VBA\xyz\xyz.xlsx"
(các folder abc và xyz đã có sẵn)
Được không ạ.
Thanks.
 
Xin chào các Pro.

Hiện tại em đang tập viết VBA. Đã save được file.
Nhưng e muốn save as vào 1 thư mục có địa chỉ tùy thuộc vào ô A1 được không ạ
Ví dụ:
- ô A1 là abc thì: save trong "C:\VBA\abc\abc.xlsx"
- ô A1 là xyz thì: save trong "C:\VBA\xyz\xyz.xlsx"
(các folder abc và xyz đã có sẵn)
Được không ạ.
Thanks.

Thêm biến số dữ liệu ô A1 vào địa chỉnh lưu file :
ví dụ "C:\VBA\" & [A1] & "\xyz.xlsx" hoặc "C:\VBA\" & sheet("ten sheet").range(A1) & "\xyz.xlsx"
 
Thêm biến số dữ liệu ô A1 vào địa chỉnh lưu file :
ví dụ "C:\VBA\" & [A1] & "\xyz.xlsx" hoặc "C:\VBA\" & sheet("ten sheet").range(A1) & "\xyz.xlsx"
- địa chỉ
- tên file là [A1] & ".xlsx" hoặc Sheets("tên sheet').Range("A1") & ".xlsx"
- Sheets("tên sheet") có s
- Range("A1") có cặp dấu nháy ""

Đầy đủ sẽ là:
"C:\VBA\" & Sheets("tên sheet").Range("A1") & "\" & Sheets("tên sheet").Range("A1") & ".xlsx"
 
...
Đầy đủ sẽ là:
"C:\VBA\" & Sheets("tên sheet").Range("A1") & "\" & Sheets("tên sheet").Range("A1") & ".xlsx"
Làm như vậy khó đọc lắm.
Bình thường, loại thay đổi chỉ chút xíu thế này người ta dùng hằng

Const THEFOLDER = "C:\my junks\{bien}\"
Const THENAME = "{bien}.xlsx"
Const THEARG = "{bien}"

Save As:
Replace(THEFOLDER, THEARG, Sheets("tên sheet").Range("A1")) & Replace(THENAME, THEARG, Sheets("tên sheet").Range("A1"))

Trong trường hợp này, hai cái tên giống nhau nên có thể
Replace(THEFOLDER & THENAME, THEARG, Sheets("tên sheet").Range("A1"))
 
Làm như vậy khó đọc lắm.
Đối với người mới học như chủ topic thì hằng và Replace cũng "khó đọc lắm". Tôi sửa nhanh bài bên trên để ra kết quả thôi, chứ nếu tôi viết thì sẽ dễ đọc dễ hiểu như là đọc truyện chưởng:

PHP:
Dim FolderName As String, FileName As String, MyPath As String
    FolderName = Sheets("Tên sheet").Range("A1")
    FileName = Sheets("Tên sheet").Range("A1")
    MyPath = "C:\VBA\" & FolderName & "\" & FileName & ".xlsx"
 
Đối với người mới học như chủ topic thì hằng và Replace cũng "khó đọc lắm". Tôi sửa nhanh bài bên trên để ra kết quả thôi, chứ nếu tôi viết thì sẽ dễ đọc dễ hiểu như là đọc truyện chưởng:

PHP:
Dim FolderName As String, FileName As String, MyPath As String
    FolderName = Sheets("Tên sheet").Range("A1")
    FileName = Sheets("Tên sheet").Range("A1")
    MyPath = "C:\VBA\" & FolderName & "\" & FileName & ".xlsx"
Thanks All mọi người
 
Web KT

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

Back
Top Bottom