pgbigorokuのブログ

プログラムの再利用できそうなコードをアップ

EXCEL VBA シートの中の部分表の値をコピーする。

'シートの中の部分表の値をコピーする。
'
'
'   ByRef pshtFrom As Worksheet
'   ByVal plngFromStartRow As Long
'   ByVal pintFromStartCol As Integer
'   ByVal plngFromStartRow As Long       0なら最終行
'   ByVal pintFromEndCol As Integer
'   ByVal pshtTo As Worksheet
'   ByVal plngToStartRow As Long
'   ByVal pintToStartCol As Integer
'   Optional ByVal pvalPaste As XlPasteType = xlPasteValues 貼り付ける範囲の部分(xlPasteValuesやxlPasteFormats)
'
'2022/8/15
'URL https://pgbigoroku.hatenablog.com/entry/2022/08/13/210036
'必要関数URL https://pgbigoroku.hatenablog.com/entry/2022/08/13/155625

Private Sub psubシートの中の部分表の値をコピーする(ByRef pshtFrom As Worksheet, _
                                            ByVal plngFromStartRow As Long, _
                                            ByVal pintFromStartCol As Integer, _
                                            ByVal plngFromEndRow As Long, _
                                            ByVal pintFromEndCol As Integer, _
                                            ByVal pshtTo As Worksheet, _
                                            ByVal plngToStartRow As Long, _
                                            ByVal pintToStartCol As Integer, _
                                            Optional ByVal pvalPaste As XlPasteType = xlPasteValues)
                                            
    If plngFromEndRow = 0 Then
        plngFromEndRow = plngGetLastRow(pshtFrom, pintFromStartCol)
    End If
    pshtFrom.Parent.Activate
    pshtFrom.Select
    pshtFrom.Range(pshtFrom.Cells(plngFromStartRow, pintFromStartCol), pshtFrom.Cells(plngFromEndRow, pintFromEndCol)).Select
    Selection.Copy
    pshtTo.Previous.Activate
    pshtTo.Select
    pshtTo.Range(pshtTo.Cells(plngToStartRow, pintToStartCol), pshtTo.Cells(plngToStartRow, pintToStartCol)).Select
    Selection.PasteSpecial Paste:=pvalPaste, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub