Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zahl per Makro suchen ( Mehrfachfund )
Hans
Hallo Leute .. ich habe ein Problem und bekomme es nicht hin.
Mein Chef verlangt von mir dass ich es auf seine Wünsche hinbekomme,..
Ich habe eine Datei die Auftrag.xls heißt. Hier stehen in der Spalte „D“ Nummern.
Per Marko soll eine Nummer ( die kann auch öfters vorkommen ) gesucht werden.
Und dann die in der dazugehörigen Spalte A stehende Nummer in der Datei Erfassung.xls in dem Sheet Tabelle1 in der Spalte Z untereinander ausgegeben werden.
Kann mir jemand beim Ansatz helfen?
Cu
Hans

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zahl per Makro suchen ( Mehrfachfund )
23.01.2012 13:47:15
Rudi
Hallo,
wozu Makro?
Als Ansatz:
 ABCDEFGH
1X  Nr  NrX
2a  1  2b
3b  2   d
4c  3   f
5d  2   i
6e  1   m
7f  2   p
8g  3   t
9h  4    
10i  2    
11j  3    
12k  4    

ZelleFormel
H2{=WENN(ZEILE(A1)>ZÄHLENWENN($D$2:$D$23;$G$2);"";INDEX($A$2:$A$23;KKLEINSTE(WENN($D$2:$D$23=$G$2;ZEILE($1:$22);"");ZEILE(A1))))}
H3{=WENN(ZEILE(A2)>ZÄHLENWENN($D$2:$D$23;$G$2);"";INDEX($A$2:$A$23;KKLEINSTE(WENN($D$2:$D$23=$G$2;ZEILE($1:$22);"");ZEILE(A2))))}
Achtung, Matrixformel!
Die geschweiften Klammern{} nicht eingeben,
sondern die Zelle mit
Shift + Strg + Enter
verlassen statt Enter alleine.

Gruß
Rudi
Anzeige
AW: Zahl per Makro suchen ( Mehrfachfund )
23.01.2012 13:58:35
Hans
Vielen Dank für die schnelle Antwort.
Ich habe es zur Zeit so als Formel drinnen ... aber es schein zu viel für Excel zu sein.
Wenn die Datei gepeichert wird kommt immer die Meldung "Microsoft Excel kann diesen Vorgang mit den verfügbaren Ressourcen nicht aussführen ...."
Außerdem dauert seit dem alles sehr lange.
cu
Hans
Fragen
23.01.2012 14:14:46
Rudi
Hallo,
in welcher Datei soll das Makro stehen?
In welchem Blatt in Auftrag.xls stehen die Daten?
Nummern in A einmalig oder auch mehrfach?
Gruß
Rudi
AW: Fragen
23.01.2012 14:24:11
Hans
Hallo Rudi.
Das Markro soll in der Datei Erfassung.xls stehen.
Das Blatt in der Datei Auftrag heist "Daten"
Die Nummer in der Spalte A gibt es nur einmal.
Die Nummer ( nach der gesucht wird ) in Spalte D gibt es einmal oder mehrfach.
Die gefundenen Nummern der Spalte A sollen dann in der Datei Erfassung.xls im Blatt "Tabelle1" in der Spalte Z untereinander stehen.
Cu
Hans
Anzeige
AW: Fragen
23.01.2012 14:34:41
Rudi
Hallo,
in ein Modul:
Sub Zahl()
Dim lngZahl As Long, arr(), lngRow As Long, lngCount As Long, lngCounter As Long
Dim wksAuftrag As Worksheet, wksErfassung As Worksheet
Set wksErfassung = ThisWorkbook.Sheets(1)
lngZahl = Application.InputBox("Zahl?", "Eingabe", Type:=1)
If lngZahl > 0 Then
On Error Resume Next
Set wksAuftrag = Workbooks("Auftrag.xls").Sheets("Daten")
On Error GoTo 0
If wksAuftrag Is Nothing Then
Set wksAuftrag = Workbooks.Open(ThisWorkbook.Path & "\Auftrag.xls").Sheets("Daten")
End If
With wksAuftrag
lngCount = Application.CountIf(.Columns(4).lngZahl)
If lngCount = 0 Then
MsgBox lngZahl & " nicht vorhanden.", vbOKOnly, "Gebe bekannt..."
Else
ReDim arr(1 To lngCount, 1 To 1)
For lngZahl = 1 To .Cells(Rows.Count, 4).End(xlUp).Row
If .Cells(lngRow, 4) = lngZahl Then
lngCounter = lngCounter + 1
arr(lngCounter, 1) = .Cells(lngRow, 1)
End If
Next
End If
End With
With wksErfassung
.Columns(26).ClearContents
.Cells(1, 26).Resize(lngCount) = arr
End With
End If
End Sub

Ungetestet.
Auftrag und Erfassung im selben Ordner.
Gruß
Rudi
Anzeige
AW: Fragen
23.01.2012 14:55:48
Hans
Hallo Rudi
In der Zeile :
lngCount = Application.CountIf(.Columns(4).lngZahl)
erscheint die Fehlermeldung "Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht "
cu
Hans
Tippfehler
23.01.2012 15:01:22
Rudi
Hallo,
Application.CountIf(.Columns(4), lngZahl)
Gruß
Rudi
AW: Tippfehler
23.01.2012 15:07:26
Hans
Danke :D
Aber nun erscheint in der Zeile :
If .Cells(lngRow, 4) = lngZahl Then
Laufzeitfehler 1004
Andwenungs- oder objektdev. Fehler
cu
Hans
AW: Tippfehler
23.01.2012 15:14:09
Rudi
Hallo,
ich sach ja: ungetestet ;-)
    With wksAuftrag
lngCount = Application.CountIf(.Columns(4), lngZahl)
If lngCount = 0 Then
MsgBox lngZahl & " nicht vorhanden.", vbOKOnly, "Gebe bekannt..."
Else
ReDim arr(1 To lngCount, 1 To 1)
For lngRow = 1 To .Cells(Rows.Count, 4).End(xlUp).Row
If .Cells(lngRow, 4) = lngZahl Then
lngCounter = lngCounter + 1
arr(lngCounter, 1) = .Cells(lngRow, 1)
End If
Next
End If
End With

Gruß
Rudi
Anzeige
AW: Tippfehler
23.01.2012 17:01:39
Hans
Vielen Dank Rudi
Es funktioniert 1 A
cu
Hans

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige