2016-04-27 17 views
0

Ich arbeite an einem Benutzerformular, wo ich eine Schaltfläche, die, wenn ich klicke auf es habe ich ein Eingabefeld, wo ich versuche, Daten der Spalte (E) filtern dann nach dem Filtern dieser kopieren von Daten von colum A1 bis der Wert in der Spalte E in einem anderen Blatt caaled filtred_data gefiltert ich diesen Code diesen Code verwende, aber es mir einen Fehler zeigen nicht nw wie esVBA- Verwenden von Eingabefeldern zum Filtern und Kopieren von Daten

Private Sub CommandButton9_Click() 
Dim xno As Integer, Found As Range 
Do 
    xno = Application.InputBox("Enter the number of Top communities ", Type:=1) 
    If TypeName(xno) = "Boolean" Then Exit Sub 
    Set Found = Columns("E").Find(what:=xno, lookat:=xlWhole, LookIn:=xlValues) 
    If Found Is Nothing Then 
     MsgBox "the number was not found, please try again !!", vbInformation 
    Else 
     Found.Range("A1:F10000").Copy Destination:=Sheets("filtred_data").Range("A1:F10000") 
    End If 
Loop 
End Sub 

wenn jemand beheben kann mir bitte helfen , danke

+0

Was ist der Fehler, den Sie bekommen? Sie erwähnen auch, dass Ihr Blatt "filteredata" ist, aber Ihr Code zeigt "filtred_data" –

+0

der Fehler, den ich bekomme ist Laufzeitfehler 9 Index außerhalb des Bereichs – mateos

+0

über den Namen des Blattes nur wehte es falsch meine Schuld: D – mateos

Antwort

0

Das Problem in Ihrem Fall ist, dass Sie die Found Variable zu einer einzelnen Zelle mit der Find Methode festlegen. Später in Ihrem Code versuchen Sie, die A1:F10000 dieser Zelle ONE zu kopieren, wenn Sie Found.Range("A1:F1000") schreiben.

Im Wesentlichen sieht der Code wie folgt (unter der Annahme FoundE25 der Zelle bezeichnet):

Range("E25").Range("A1:F1000").Copy 

Können Sie sehen, warum die einen Fehler verursachen würde?

Ich würde versuchen, mehr Hilfe anzubieten, aber es ist schwer zu bestimmen, was genau Sie wollen. Können Sie möglicherweise mehr Details zu Ihren Tabellenlayouts und ein Beispiel dafür, was Sie tun möchten, geben?

+0

ja du hast recht, in dem Blatt, die ich bin Filterung ich habe 5-Säule, aber ich möchte nur durch die letzte Spalte filtern was ist Spalte E so nach dem Klicken auf die Schaltfläche zu filtern, ich muss alle Spalten von A bis E kopieren, aber nur die gefilterten Daten auf das neue Blatt "filtred_data" – mateos

Verwandte Themen