根据excel

时间:2017-03-12 16:30:30

标签: excel vba excel-vba

我的工作簿中有2张表和一个用户表单。

Sheet1有3行,其中包含移位类型信息。(A2 = A,A3 = B和A4 = C),我在col B(开始时间),col C(结束时间)等中也有其他数据..

我使用表单在表2中输入员工姓名(txtName)和他们的班次类型(cboShift).col A = name和col B =班次类型)现在我想要当我在班次2中完成员工数据时,通过点击UPDATE按钮将相关的班次信息(开始时间,结束时间......)从表格1复制到下一个单元格中。

 Private Sub cmdUpdate_Click()

    Dim LastRow As Long
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim rng As Range
    Dim rgnSearch As Range
    Dim rngFound As Range

    Set ws1 = Sheets("Sheet1")
    Set ws2 = Sheets("Sheet2")

    LastRow = ws2.Range("A" & ws2.Rows2.Count).End(xlUp).row + 1
    ws2.Range("A" & LastRow).Value = Me.txtName.Text
    ws1.Range("A" & LastRow).Offset(0, 1).Value = Me.cboShift.Text

    Set rgnSearch = ws1.Range("A1", ws1.Cells(Rows2.Count, 1).End(xlUp))

    With rgnSearch
        Set rngFound = .Find(Me.txtName.Text, LookIn:=xlValues)
        If Not rngFound Is Nothing Then
            ws1.Range("C" & rngFound.row & ":F" & rngFound.row).Copy Destination:=ws2.Range("C" & LastRow)
        End If
    End With
End Sub
End Sub

我在两张纸上都有标题。

当我运行代码时,我得到错误“找不到方法或数据成员。”

LastRow = ws2.Range("A" & ws2.**Rows2**.Count).End(xlUp).row + 1

我的下一个问题是:当我点击ADD按钮而不是在所有人之后执行此操作时,是否有任何方法可以为每个人传输数据 Thanx

2 个答案:

答案 0 :(得分:2)

你可能意味着

mysql_query()

而不是

$q1 = "SELECT Say From spam_engel WHERE IP = '192.168.1.1'";
$ol = mysqli_query($con, $q1);

答案 1 :(得分:1)

上面的@ h2so4已经回答了错误。

但是,您的代码需要考虑以下几点:

  1. ws1.Range("A" & LastRow).Offset(0, 1).Value = Me.cboShift.Text,不确定LastRowws1的{​​{1}}是一样的,是吗???

  2. 成功查找后,在ws2中,您可以使用不同的编码来复制同一行的C:F单元格的内容。

  3. 而不是:

    If Not rngFound Is Nothing Then

    您可以使用:

    ws1.Range("C" & rngFound.row & ":F" & rngFound.row).Copy Destination:=ws2.Range("C" & LastRow)