20150916_018 插入行()

Sub 插入行()
    Dim myRow As Long '定义myRow变量,用于存储原表中数据的行数;   

    Dim i As Long  '定义i变量,作为循环变量;
   
    myRow = Range("A" & Rows.Count).End(xlUp).Row ' 用rows.count得到excel表总行数,然后利用Range("A" & Rows.Count).End(xlUp)得到最为一行不为空的单元格,然后利用Range("A" & Rows.Count).End(xlUp).Row得到单元格的具体行数,赋值给myRow;

     For i = 2 To 2 * myRow Step 2  '利用for循环,从第二行开始;因为要插入1行,所以是2*myRow,如果插入2行,就是3*myrow;如果插入1行,步长step为2,如果插入2行,步长step3;
        Cells(i, 1).EntireRow.Insert   '完成单元格插入行的操作,如果需要插入两行,再重复写一次这个代码即可;
    Next i '循环结束;

End Sub

////////////////////////////////////////////////////////////////////////////////////////////////

Sub NewLine()
'
' NewLine 宏
'

'
    Dim myRow As Long
    Dim myRow1 As Long
   
    '定义myRow变量,用于存储原表中数据的行数;
   
    myRow = Range("A" & Rows.Count).End(xlUp).Row
   
    myRow1 = myRow + 1

    ActiveWindow.SmallScroll Down:=39
    Rows(myRow1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    ActiveWindow.SmallScroll Down:=-43

End Sub

////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////

20150915-001   插入新行

////////////////////////////////////////////////////////////////////////////////////////////////

Sub NewLine()
'
' NewLine 宏
'

'
   

    '定义myRow变量,用于存储原表中数据的行数;
   
    Dim myRow As Long
    Dim myRow1 As Long
   
    '定义获取上一单元格的值
   
    Dim cell_value As Long
   
   
   
    myRow = Range("A" & Rows.Count).End(xlUp).Row
    myRow1 = myRow + 1
   
   
    '
    '获取上一单元格的值
    '
    cell_value = Range("A" & myRow)
   
    '
    '
   

    ActiveWindow.SmallScroll Down:=39
    Rows(myRow1).Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   
 
      
    '
    '
    ' 显示行号
 
    'Range("A5:A" & i) = "=Row()-4"
   
    'Range("A" & myRow) = "=6868"

    'MsgBox myRow1
   

    Range("A" & myRow1) = cell_value + 1
   
    '
    '
    '
   
   
   
    ActiveWindow.SmallScroll Down:=-43
   
   
   


End Sub

////////////////////////////////////////////////////////////////////////////////////////////////

20150916_001  复制选中行到另一表格

////////////////////////////////////////////////////////////////////////////////////////////////

Sub MovetoTaskEnd()
  
  

   Dim Row_1 As Long          '   table 1
   Dim Row_2 As Long          '   table 2
   Dim Row_21 As Long         '   add 1
   Dim Row_init As Long       '
  
   'Dim myRange As Range       '   From
   'Dim Range2 As Range
  
  
   'MsgBox "行:" & ActiveCell.Row & " 列:" & ActiveCell.Column
   Row_1 = ActiveCell.Row
  
   'MsgBox "选中的行"
   'MsgBox Row_1
  
  
   '
   Row_2 = Worksheets("已完结工作").Range("A" & Rows.Count).End(xlUp).Row
  
   Set myRange = Worksheets("Open List 未完结工作").Range("A" & Row_1, "J" & Row_1)

  
   '
   'If Row_2 > 15 Then
  
   '   Row_init = Row_2 + 1
     
   'Else
     
   'End If
  
  
  
   '
   'If Row_2 > 15 Then
  
      'Row_init = Row_2 + 1

   'Else
  
     
   'End If
  
  
  
   '
   'cell_value = Range("A" & myRow)
   'Worksheets("Sheet1").Range("A5").Value = 22
  
   Row_init = Row_2 + 1
   'Worksheets("已完结工作").Range("A" & Row_init, "J" & Row_init).Value = myRange.Copy()
   Worksheets("已完结工作").Range("A" & Row_init).Value = Worksheets("Open List 未完结工作").Range("A" & Row_1).Value
   Worksheets("已完结工作").Range("B" & Row_init).Value = Worksheets("Open List 未完结工作").Range("B" & Row_1).Value
   Worksheets("已完结工作").Range("C" & Row_init).Value = Worksheets("Open List 未完结工作").Range("C" & Row_1).Value
   Worksheets("已完结工作").Range("D" & Row_init).Value = Worksheets("Open List 未完结工作").Range("D" & Row_1).Value
   Worksheets("已完结工作").Range("E" & Row_init).Value = Worksheets("Open List 未完结工作").Range("E" & Row_1).Value
   Worksheets("已完结工作").Range("F" & Row_init).Value = Worksheets("Open List 未完结工作").Range("F" & Row_1).Value
   Worksheets("已完结工作").Range("G" & Row_init).Value = Worksheets("Open List 未完结工作").Range("G" & Row_1).Value
   Worksheets("已完结工作").Range("H" & Row_init).Value = Worksheets("Open List 未完结工作").Range("H" & Row_1).Value
   Worksheets("已完结工作").Range("I" & Row_init).Value = Worksheets("Open List 未完结工作").Range("I" & Row_1).Value
   Worksheets("已完结工作").Range("J" & Row_init).Value = Worksheets("Open List 未完结工作").Range("J" & Row_1).Value

  
  

End Sub

   ////////////////////////////////////////////////////////////////////////////////////////////////

   20150916_002  选择日期Excel日历控件将日期插入到指定单元格

   ////////////////////////////////////////////////////////////////////////////////////////////////

Private Sub Calendar1_Click()
'Calendar1.Value = Date
ActiveCell = Calendar1.Value
Me.Calendar1.Visible = False
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Then
Me.Calendar1.Visible = True

   Me.Calendar1.Top = Target.Offset(0, 1).Top    '设置位置

   Me.Calendar1.Left = Target.Offset(0, 1).Left   '设置位置

Else
Me.Calendar1.Visible = False
End If
End Sub

   ////////////////////////////////////////////////////////////////////////////////////////////////

原文地址:https://www.cnblogs.com/hutie1980/p/4808284.html