Page 1 of 1

สอบถามเรื่องการนำค่าในตารางExcelมาใส่ในสูตรหรือcodeครับ

Posted: Wed Dec 07, 2022 6:45 pm
by bananaband
ขออนุญาติยกตัวอย่างบางส่วนในโค้ดนะครับเพราะมันยาวแล้วเดี๋ยวจะงง

เช่น ในคอลัมน์ A1 มีค่าเท่ากับ 1

แล้วเราต้องการนำค่า "1" ในคอลัมน์ A1 ไปใช้ใน

1. ActiveSheet.PivotTables("PivotTable1").PivotFields( _
"[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array( _
"[Raw Data 3 Y].[Month].&[12]")

ต้องการเปลี่ยนค่าตรง 12 ไปเป็น 1



2. ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP([@Area]," & "'[" & SourceBook.Name & "]" & "Sale12 Amount'!C2:C3,2,0),0)"

ต้องการเปลี่ยนค่าตรง 12 ไปเป็น 1


ผมต้องเขียน CODE ยังไงเพื่อดึงค่าจาก คอลัมน์ A1 และเวลาใส่ค่าในcode หรือ ในสูตร ต้องเขียน code ยังไงครับ

รบกวนด้วยครับ มือใหม่มากๆ อยากsearchหาความรู้ด้วยตัวเองแต่ไม่รู้ว่าต้อง search ด้วยคำว่าอะไรครับ

Re: สอบถามเรื่องการนำค่าในตารางExcelมาใส่ในสูตรหรือcodeครับ

Posted: Wed Dec 07, 2022 6:53 pm
by snasui
:D กรุณาแนบไฟล์ตัวอย่างที่มี Code นี้มาแล้วด้วยจะได้สะดวกต่อการตอบของเพื่อนสมาชิกครับ

Re: สอบถามเรื่องการนำค่าในตารางExcelมาใส่ในสูตรหรือcodeครับ

Posted: Wed Dec 07, 2022 11:41 pm
by bananaband
snasui wrote: Wed Dec 07, 2022 6:53 pm :D กรุณาแนบไฟล์ตัวอย่างที่มี Code นี้มาแล้วด้วยจะได้สะดวกต่อการตอบของเพื่อนสมาชิกครับ
ผมต้องแนบไฟล์แบบไหนครับ ถ้าเป็นไฟล์ .xlsm นี่แนบไม่ได้จริงๆครับ มีข้อมูลความลับของบริษัทครับ ถ้าเฉพาะ code นี้แนบได้ครับ แต่อาจจะงงๆหน่อยครับ

Code: Select all

Sub Jan_I_N_B()
    Dim CrntWorkBook As Workbook
    Dim SourceBook As Workbook
    Dim SourceRange As Range
    Dim Destination As Range

    Set CrntWorkBook = ActiveWorkbook
    
     With Application.FileDialog(msoFileDialogOpen)
        .Title = "File "
        .InitialFileName = ThisWorkbook.Path & "\"
        .Filters.Clear
        .Filters.Add "Excel Files", "*.xl*;*.xm*"
        .AllowMultiSelect = False
        .Show
         
        If .SelectedItems.Count > 0 Then
                Workbooks.Open .SelectedItems(1)
                Set SourceBook = ActiveWorkbook
                
    Sheets("Sale Amount").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array("")
    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array( _
        "[Raw Data 3 Y].[Month].&[12]")
    CrntWorkBook.Activate
    ActiveWindow.SmallScroll Down:=-38
    Range("D6").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP([@Area]," & "'[" & SourceBook.Name & "]" & "Sale12 Amount'!C2:C3,2,0),0)"
    Range("D6").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=38
    Range("D6:D70").Select
    ActiveWindow.SmallScroll Down:=-38
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D6:D70").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    
    
    Sheets("1_NC").Select
    Workbooks.Open .SelectedItems(1)
    Sheets("NFC_Sale").Select
    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array("")
    ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array( _
        "[Raw Data 3 Y].[Month].&[12]")
    CrntWorkBook.Activate
    ActiveWindow.SmallScroll Down:=-38
    Range("D6").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP([@Area]," & "'[" & SourceBook.Name & "]" & "NC_Sale'!C2:C3,2,0),0)"
    Range("D6").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=38
    Range("D6:D70").Select
    ActiveWindow.SmallScroll Down:=-38
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D6:D70").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False



    Sheets("1_BJ").Select
    Workbooks.Open .SelectedItems(1)
       Sheets("Bonjela_Sale").Select
    ActiveSheet.PivotTables("PivotTable16").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array("")
    ActiveSheet.PivotTables("PivotTable16").PivotFields( _
        "[Raw Data 3 Y].[Month].[Month]").VisibleItemsList = Array( _
        "[Raw Data 3 Y].[Month].&[12]")
    CrntWorkBook.Activate
    ActiveWindow.SmallScroll Down:=-38
    Range("D6").Select
    ActiveCell.FormulaR1C1 = _
        "=IFERROR(VLOOKUP([@Area]," & "'[" & SourceBook.Name & "]" & "Bonj_Sale'!C2:C3,2,0),0)"
    Range("D6").Select
    Selection.Copy
    ActiveWindow.SmallScroll Down:=38
    Range("D6:D70").Select
    ActiveWindow.SmallScroll Down:=-38
    Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False
    Range("D6:D70").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Sheets("1_IFCN").Select
        
               SourceBook.Close False
            End If
        End With
End Sub
โดย code นี้ยังไม่มีการรับค่าจาก column A1 นะครับ ยังใช้ค่าคงที่อยู่คือ 12

Re: สอบถามเรื่องการนำค่าในตารางExcelมาใส่ในสูตรหรือcodeครับ

Posted: Thu Dec 08, 2022 7:54 am
by snasui
:D ทำตัวอย่างขึ้นมาใหม่เฉพาะที่เป็นปัญหา อ่านกฎการใช้บอร์ดข้อ 4 และ 5 ด้านบนซ้ำอีกครั้งครับ :roll: