Page 1 of 1

CodeVB สร้างชีทใหม่พร้อมกับ Copyข้อมูลไปวางในชีทที่สร้าง

Posted: Fri Sep 08, 2023 5:39 pm
by tigerwit
จากไฟล์ที่แนบมา
Code

Code: Select all

Public Sub AddNewSheet()
    Dim newSheetName As String
    On Error Resume Next
        newSheetName = ActiveSheet.Range("J1").Value
        Sheets.Add After:=ActiveSheet
            ActiveSheet.Name = newSheetName
        Sheet12.Range("B3:H50").Copy
            Sheets(newSheetName).Range("A1").PasteSpecial xlPasteValues
            Range("A1").Select
            Sheet12.Select
            Range("B3").Select
        Application.CutCopyMode = False
End Sub
กรณีที่มีชีทที่มีชื่อนั้นอยู่แล้ว ไม่ต้องสร้างชีทใหม่ ให้ copy ข้อมูลไปวางที่ชีทนั้นเลย
ตัวอย่างเช่น มีชีทที่ชื่อ A003 อยู่แล้ว เมื่อคลิกปุ่ม ส่งออกรายการ ก็ให้ข้ามไปทำการ copy ข้อมูลไปวางที่ชีท A003 เลย
โดยไม่ต้องชีทชีทใดๆ ต้องปรับ Code อย่างไรครับ

Re: CodeVB สร้างชีทใหม่พร้อมกับ Copyข้อมูลไปวางในชีทที่สร้าง

Posted: Fri Sep 08, 2023 9:01 pm
by snasui
:D ตัวอย่างการปรับ Code ครับ

Code: Select all

Public Sub AddNewSheet()
    Dim newSheetName As String
    On Error Resume Next
    newSheetName = ActiveSheet.Range("J1").Value
    If Sheets(newSheetName) Is Nothing Then
        Sheets.Add After:=ActiveSheet
        ActiveSheet.Name = newSheetName
    End If
    Sheet12.Range("B3:H50").Copy
    Sheets(newSheetName).Range("A1").PasteSpecial xlPasteValues
    Range("A1").Select
    Sheet12.Select
    Range("B3").Select
    Application.CutCopyMode = False
End Sub

Re: CodeVB สร้างชีทใหม่พร้อมกับ Copyข้อมูลไปวางในชีทที่สร้าง

Posted: Mon Sep 18, 2023 5:12 pm
by tigerwit
ขอบคุณครับผม