如何使用VBA根据关键字匹配相应的单元格值?

时间:2018-12-27 07:23:11

标签: excel vba

我有一个宏,它可以在网络上抓取数据并将结果返回到单独的工作表。但是,必须处理这些结果,以便将所有标题提取到“搜索结果”部分的一列中。我不知道如何编写一个函数来返回与术语“ TI”相关的所有值。我已经写了一些代码,但是没有用。对此有任何帮助或建议。

Search results worksheet

Raw data worksheet

Sub Returnresults()

 Dim r As Range

 Application.ScreenUpdating = False

 With Worksheets("Search Results")
.AutoFilterMode = False
.Range("A:A").AutoFilter Field:=1, Criteria1:="=TI"
With .AutoFilter.Range
    On Error Resume Next
    Set r = .Resize(.Rows.Count - 1, 1).Offset(1, 
    2).SpecialCells(xlCellTypeVisible)
    On Error GoTo 0
    If Not r Is Nothing Then
        r.Copy Worksheets("Search Results").Range("A7")
    End If
End With
.AutoFilterMode = False
 End With

 Application.ScreenUpdating = True

 End Sub

1 个答案:

答案 0 :(得分:0)

这应该是一个工作代码,与您的代码之间的偏差最小(注释中的解释)

#-----------Models.py------------
class Session(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE ,verbose_name="usuario")
front_image = models.ImageField(upload_to=upload_path_handler_front, null=True, blank=True, verbose_name='portada')
title = models.CharField(max_length=128, verbose_name="titulo")
description = models.TextField(null=True, blank=True,verbose_name="descripcion")
date = models.DateField(default=now, verbose_name='fecha')

class Meta:
    ordering = ['-date']

def __str__(self):
    return self.title

class Images(models.Model):
session = models.ForeignKey(Session, default=None, on_delete=models.CASCADE)
image = models.ImageField(upload_to=upload_path_handler, null=True, blank=True, verbose_name='imagen')

class Meta:
    verbose_name="image"
    verbose_name_plural="images"

def __str__(self):
    return str( self.session )


#-----------views.py-------------------
@login_required
def session(request):

ImageFormSet = modelformset_factory(Images,
                                    form=ImageForm, extra=20)

if request.method == 'POST':

    sessionForm = SessionForm(request.POST, request.FILES)
    formset = ImageFormSet(request.POST, request.FILES,
                           queryset=Images.objects.none())


    if sessionForm.is_valid() and formset.is_valid():
        session_form = sessionForm.save(commit=False)
        session_form.user = request.user
        session_form.save()

        for form in formset.cleaned_data:
            if form:
                image = form['image']
                photo = Images(session=session_form, image=image)
                photo.save()
        messages.success(request,
                         "Created")
        return HttpResponseRedirect(reverse_lazy('List-session-admin'))
    else:
        print(sessionForm.errors, formset.errors)
else:
    sessionForm = SessionForm()
    formset = ImageFormSet(queryset=Images.objects.none())
return render(request, 'session/crud/create_session.html',
              {'sessionForm': sessionForm, 'formset': formset})

class Update_Session(generic.UpdateView):
    template_name = 'session/crud/update_session.html'
    model = Session
    form_class = UpdateSessionForm
    success_url = reverse_lazy('List-session-admin')