Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1068to1072
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
Inhaltsverzeichnis

VBA Makro

VBA Makro
17.04.2009 21:46:33
mike
Hallo,
ich suche nach einer Lösung zu folgendem Problem:
Ich habe mehrere Blätter, die die gesuchten Werte in Spalte A ab Zeile 8 enthalten ( #1; #2 etc.)
Auf meinem Hauptblatt wo auch der Makrobutton ist, soll nun per Makro folgendes passieren:
Der zu suchende Begriff #1 steht in B6, er soll nun alle (ausser das aktive) Blätter durchsuchen, den Begriff #1 ( immer in Spalte A) finden und den Wert der beiden nächsten gefüllten Zellen nach rechts, in die Zellen des aktiven Blattes C6 und D6 einfügen und den Blattnamen, wo er den Wert gefunden hat in in die Zelle E6 einfügen.
Danach soll mit dem Begriff #2, der natürlich in B7 steht genauso verfahren werden.
Dann B8, B9 etc.
Habe bisher in keinem Forum etwas ähnliches gefunden.
Vielleicht kann mir hier jemand helfen.
THX in advance

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro
18.04.2009 08:52:14
Hajo_Zi
Hallo Mike,
der Begriff #1 wurde in Tabelle2 In A7 gefunden jetzt soll A8 in C6 und A9 in D6.
Danach wurde der Begriff #1 in A8 gefunden also soll A9 in C6 und A10 in D6 und so weiter bis zur letzten Tabelle. Sollte man dann nicht gleich in der letzten Tabelle beginnen mit Suchen? Warum müssen erst die anderen Werte eingeschrieben werden die sofort wieder überschrieben werden?

AW: VBA Makro
18.04.2009 13:36:37
mike
Hallo Hajo,
ok, muss nicht sein, wichtig ist nur, dass in meinem Hauptblatt in B6 der Wert #1 reinkommt der in Tabelle 5
Spalte A Zeile 9 gefunden wurde. Im Hauptblatt soll dann in C6 der Wert der ersten gefüllten Zelle aus Tabelle 5 Zeile 9 Spalte D und in D6 den Wert der zweiten gefüllten Zelle Tabelle 5 Zeile 9 Spalte G.
Dann soll er im Hauptblatt ein Zeile tiefer gehen (B7), von #1 auf #2 erhöhen und wieder alles durchsuchen usw.
Diesmal findet er in Tabelle 10 Spalte A Zeile 10 den Wert #2, füllt Zelle C7 mit dem Wert Tabelle10 Zeile 10 Spalte 4, und Zelle D7 mit dem Wert Tabelle 10 Zeile 10 Spalte F.
USW bis er keine Wert mehr findet.
Kann dir auch gerne mal die Datei schicken, wenn du mir deine email gibst.
Gruß Mike.
Anzeige
AW: VBA Makro
18.04.2009 15:23:33
Jens
Hi Mike
Kannst Du (D)eine (Beispiel-)Datei mal hochladen mit Vorher-Nachher?
Gruß aus dem Sauerland
Jens
AW: VBA Makro
18.04.2009 15:44:23
GraFri
Hallo
Schick mir die Datei oder lade sie hoch
mfg, GraFri
AW: VBA Makro
18.04.2009 18:40:04
mike
Hallo,
habe die Datei mal hoch geladen und auf dem Reiter Beschreibung mal versucht, meine Idee zu vermitteln.
Ihr könnt dann ja mal ausprobieren.
Hier der Link:
https://www.herber.de/bbs/user/61283.zip
Danke schon mal vorab.
Gruß und schönes WE.
Mike
AW: VBA Makro
20.04.2009 07:15:09
GraFri
Hallo
Code in ein Modul.

Sub Suchen()
Dim n As Integer, x As Integer, xZeile As Integer
Dim wasSuchen As String
Dim nichtSuchen As String
Dim JaNein As Boolean
' Startzeile im Blatt 'Ablaufplan'
xZeile = 10
' Tabellenblätter, die nicht durchsucht werden sollen
nichtSuchen = "Ablaufplan, Punktezähler-Allkampf, Punkezähler-schwarz'"
JaNein = False
Application.ScreenUpdating = False
With Sheets("Ablaufplan")
While .Range("B" & xZeile)  ""
wasSuchen = Sheets("Ablaufplan").Range("B" & xZeile).Value
For n = 1 To ThisWorkbook.Sheets.Count
' Tabellenblätter aus 'nichtSuchen' nicht berücksichtigen
If InStr(nichtSuchen, Sheets(n).Name) = False Then
' es wird ab Ziele 8 jede 2. Zeile durchsucht
For x = 8 To Sheets(n).Cells(Rows.Count, 1).End(xlUp).Row Step 2
If Sheets(n).Range("A" & x) = wasSuchen Then
If Sheets(n).Range("C" & x)  "" Then
JaNein = True
.Range("C" & xZeile) = Sheets(n).Range("C" & x)
If Sheets(n).Range("D" & x)  "" Then
.Range("D" & xZeile) = Sheets(n).Range("D" & x)
.Range("E" & xZeile) = Sheets(n).Name
Else
.Range("D" & xZeile) = Sheets(n).Range("E" & x)
.Range("E" & xZeile) = Sheets(n).Name
End If
Else
.Range("C" & xZeile) = Sheets(n).Range("D" & x)
.Range("D" & xZeile) = Sheets(n).Range("E" & x)
.Range("E" & xZeile) = Sheets(n).Name
End If
GoTo Sprungmarke
End If
Next x
End If
Next n
Sprungmarke:
JaNein = False
xZeile = xZeile + 1
Wend
End With
Application.ScreenUpdating = True
End Sub


Bei Fragen einfach mailen.
mfg, GraFri

Anzeige
AW: VBA Makro
21.04.2009 15:12:15
mike
Hallo
Grafri,
perfekt. Ich hatte zwar schon geantwortet, aber irgendetwas hat wohl nicht mit der Übermittlung geklappt.
Genauso hatte ich es mir gedacht.
Super, kann euch Spezis hier nur weiter empfehlen.
Danke nochmal.
gruß
Mike
AW: VBA Makro
23.04.2009 09:01:11
mike
Hallo Grafri
hätte noch eine Kleinigkeit, die mir den Eintrag des Ergebnisses erleichtern würde.
Wenn der o.g. Code den Ablaufplan füllt, könnte man die Paarung so verlinken, dass ich beim Klick auf die zum Reiter gelange, wo er die Paarung hergeholt hatte?
AW: VBA Makro
25.04.2009 09:27:50
mike
Hallo Grafri
bitte mal anmailen, da noch ein Fehler drin ist den ihc schlecht beschreiben kann.
torro100@web.de
Danke.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige