Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
464to468
464to468
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
VBA Fehler dringend
10.08.2004 12:17:19
Christian
Hallo,
ich habe folgendes Problem. Ich habe ein Tabellenblatt mit Datensätzen und ein Tabellenblatt für die Auswertung. Ich habe mir ein Makro geschrieben, welches aus der Zelle B4 des Blattes Auswertung sein Suchkriterium ziehen soll und dann die Spalte AG ab Zeile 13 auf dem Datenblatt Daten durchsuchen soll. Bei Übereinstimmung soll die ganze Zeile in das Blatt auswertung kopiert werden.
Ich bekomme aber ständig Fehlermeldungen.
Kann mir jemand sagen was ich falsch gemacht habe?
Der Code:

Sub suche()
Dim wks, wks2 As Worksheet, I As Integer, krit As String
Set wks = Worksheets("Daten")
Set wks2 = Worksheets("Auswertung")
If Not wks2.Cells(4, 2).Value) = Empty Then
krit = wks2.Cells(4, 2).Value
Else: MsgBox "Please choose search criteria in field 'B4'"
End If
For I = 13 To wks.Cells(Rows.Count, 33).End(xlUp).Row
If wks.Cells(I, 33).Value = krit Then
Kopieren (I)
End If
Next
End Sub


Sub Kopieren(Zeile As Long)
Dim NextRow As Long
NextRow = wks2.Cells(Rows.Count, 1).End(xlUp).Row + 1
wks2.Cells(NextRow, 1) = _
wks.Cells(Zeile, 33)
End 

Sub
Fehlermeldungen: Datentypen nicht vereinbar; Objekt erforderlich(beim kopieren)
Desweiteren kommt immer die Messagebox obwohl in B4 etwas steht!?
Für Hilfe wäre ich sehr dankbar!
Gruß Chistian

		

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Fehler dringend
Uduuh
Hallo,
du musst wks und wks2 als Public deklarieren. Also außerhalb einer Prozedur: Public wks as Worksheet, wks2 as worksheet. Sonst sind die Objekte im Kopieren-Makro nicht definiert.
Außerdem ist diese Zeile falsch:
If Not wks2.Cells(4, 2).Value) = Empty Then
muss heißen:
If Not IsEmpty(wks2.Cells(4, 2))Then
Gruß aus'm Pott
Udo
AW: VBA Fehler dringend
ChrisL
Hi Christian
Die Variablen "WKS" stehen nur im jeweiligen Sub zur Verfügung. Ich würde es in einer Prozedur zusammenfassen, so musst du die Worksheets nicht zweimal deklarieren.
If Not wks2.Cells(4, 2).Value) = Empty Then
Hier hast du Klammern-Salat
würde einfach nur schreiben...
If wks2.Cells(4, 2) "" Then
Gruss
Chris
Anzeige
Vielen Dank, aber...
10.08.2004 12:34:49
Christian
Vielen Dank soweit für eure Hilfe!
Aber leider besteht das Problem beim Kopieren immer noch!?
Weiß da jemand Abhilfe?
Danke schonmal im Vorraus!!
Gruß Christian
AW: Vielen Dank, aber...
AndréL.
Hi Chris,
das (I) nach dem Aufruf Kopieren (I) muß, glaube ich,
weggelassen werden.
Gruß
AndréL.
Nein, auch nicht
10.08.2004 13:01:46
Christian
Hi AndréL,
Das ist der Übergabeparameter. Den brauch ich damit er weiß welche Zeile er kopieren soll.
Trotzdem danke!
Noch jemand nen Vorschlag?
Gruß
AW: Nein, auch nicht
ChrisL
Hi Christian

Sub suche()
Dim WKS1 As Worksheet, WKS2 As Worksheet
Dim I As Integer, Krit As String
Set WKS1 = Worksheets("Daten")
Set WKS2 = Worksheets("Auswertung")
If WKS2.Cells(4, 2) <> "" Then
Krit = WKS2.Cells(4, 2).Value
Else
MsgBox "Please choose search criteria in field 'B4'"
Exit Sub
End If
For I = 13 To WKS1.Cells(Rows.Count, 33).End(xlUp).Row
If WKS1.Cells(I, 33).Value = Krit Then _
WKS2.Cells(WKS2.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1) = WKS1.Cells(I, 33)
Next
End Sub

Gruss
Chris
Anzeige
Vielen Dank!!!
10.08.2004 14:45:38
Christian
Hallo Chris,
Vielen Dank für Deine Lösung!
Gruß Christian

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige