Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用输入条件的搜索范围将值从一张图纸复制到另一张图纸_Vba_Excel_Excel 2010 - Fatal编程技术网

Vba 使用输入条件的搜索范围将值从一张图纸复制到另一张图纸

Vba 使用输入条件的搜索范围将值从一张图纸复制到另一张图纸,vba,excel,excel-2010,Vba,Excel,Excel 2010,我正在寻求帮助。。。下面是我试图实现的代码和一些图像。我已经创建了一个选择器,当您输入数量时,该选择器将显示。我想让它与数量包括行,并采取它的下一个可用行的另一张纸。我的代码没有产生错误,但它也没有做任何事情 我希望获取输入数量的行的范围J:p,然后将其粘贴到D列下一个空白行的另一个工作表中,因为a-C中已经包含了条目。这里有人可以帮忙吗 Sub Add() Dim searchRange As Range Dim foundCell As Range Dim

我正在寻求帮助。。。下面是我试图实现的代码和一些图像。我已经创建了一个选择器,当您输入数量时,该选择器将显示。我想让它与数量包括行,并采取它的下一个可用行的另一张纸。我的代码没有产生错误,但它也没有做任何事情

我希望获取输入数量的行的范围J:p,然后将其粘贴到D列下一个空白行的另一个工作表中,因为a-C中已经包含了条目。这里有人可以帮忙吗

    Sub Add()

    Dim searchRange As Range
    Dim foundCell As Range
    Dim mysearch As Integer
    Dim iRow As Long
    Dim ws1, ws2 As Worksheet

    Set ws1 = Worksheets("Output")
    Set ws2 = Worksheets("Selector")
    iRow = Sheets("Output").Range("D2").End(xlUp) + 1

    mysearch = Sheets("Selector").Range("N10").Value

    With Sheets("Selector")
        Set searchRange = Sheets("Selector").Range("N12:N35") ', .Range("A" & .Rows.Count).End(xlUp))
    End With

    Set foundCell = searchRange.Find(what:=mysearch, Lookat:=xlWhole, MatchCase:=False, SearchFormat:=False)
    If Not foundCell Is Nothing Then
        ws1.Cells(iRow, 4).Value = foundCell.Offset(0, -4).Value       
'and so on
    End If

    End Sub
这是选择器

这是我希望以不同顺序粘贴值的地方。

试试下面的方法,我只是稍微修改了一下您的代码,我相信它应该可以正常工作:

Sub Add()
    Dim foundCell As Range
    Dim mysearch As Integer
    Dim iRow As Long, Last As Long
    Dim ws1 As Worksheet, ws2 As Worksheet

    Set ws1 = Worksheets("Output")
    Set ws2 = Worksheets("Selector")

    iRow = ws1.Cells(ws1.Rows.Count, "D").End(xlUp).Row + 1
    Last = ws2.Cells(ws2.Rows.Count, "N").End(xlUp).Row

    mysearch = ws2.Range("N10").Value

    Set foundCell = ws2.Range("N12:N" & Last).Find(what:=mysearch, Lookat:=xlWhole)
    If Not foundCell Is Nothing Then
        ws1.Cells(iRow, 4).Value = foundCell.Offset(0, -4).Value
    End If

End Sub