Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1072to1076
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

Makro mit Suchfunktion, welches Zelleninhalte kopi

Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 09:56:17
Joop
Hallo Liebe Excel Profis,
ich habe folgenden Sacheverhalt für euch; ein Tabellenblatt auf welchem in der ersten Spalte Konten-Nummern (von 1-1000) und in der zweiten Spalte die entsprechenden Werte stehen. Nun bräuchte ich ein Makro, welches die Konten-Nummern mit einem zweiten Tabellenblatt abgleicht, und bei übereinstimmender Kontonummer den entsprechenden Wert (von Tabellenblatt 1, Spalte 2, entsprechende Zeile) in die Zielzelle im Tabellenblatt 2, Spalte 2 entsprechende Zeile kopiert.
Da ich ein kompletter Newcomer in diesem Forum bin, jedoch davon ausgehe, dass es diese Fragestellung bereits öfters gab, freue ich mich natürlich auch über entsprechende Links zu dem Thema.
Vielen Dank
Grüße Jo

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 10:56:41
Raist10
Probiere es mal so:
Option Explicit

Sub KontenÜbertragung()
Dim intQuellZeile As Integer, intZielZeile As Integer, intSuche As Integer
Dim strÜbergabe As String
' Zellen Spalte 1 abarbeiten
With Sheets(1)
For intQuellZeile = 1 To .UsedRange.Rows.Count
intSuche = .Cells(intQuellZeile, 1).Value
' gleich Übergabewert für möglichen Treffer mit einlesen
strWert = .Cells(intQuellZeile, 2).Value
' Inhalt strSuche mit Kontennummern Tabelle2 vergleichen
With Sheets(2)
For intZielZeile = 1 To .UsedRange.Rows.Count
If .Cells(intZielZeile, 1).Value = intSuche Then
.Cells(intZielZeile, 2).Value = strWert
Exit For
End If
Next intZielZeile
End With
Next intQuellZeile
End With
End Sub


Die Routine bricht aber nach dem ersten Treffer in Tabelle 2 ab, willst du auch noch weitere Treffer in Tabelle 2 prüfen, dann nimm die Anweisung Exit For raus.
Gruß
Rainer

Anzeige
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 11:06:51
Raist10
*grummel*
Jaja ... kann nicht funktionieren, wenn man am Ende eine Variabele anders deklariert und dann vergisst die Variabele im Code umzubennen. ^^
Hier neu und mit Fehlerabfang:
Option Explicit

Sub KontenÜbertragung()
Dim intQuellZeile As Integer, intZielZeile As Integer, intSuche As Integer
Dim strÜbergabe As String
' Zellen Spalte 1 abarbeiten
With Sheets(1)
For intQuellZeile = 1 To .UsedRange.Rows.Count
If IsNumeric(.Cells(intQuellZeile, 1)) Then
intSuche = .Cells(intQuellZeile, 1).Value
' gleich Übergabewert für möglichen Treffer mit einlesen
strÜbergabe = .Cells(intQuellZeile, 2).Value
Else
MsgBox "Das ist keine gültige Kontonummer: " & .Cells(intQuellZeile, 1).Value
GoTo Next_ZielZeile
End If
' Inhalt strSuche mit Kontennummern Tabelle2 vergleichen
With Sheets(2)
For intZielZeile = 1 To .UsedRange.Rows.Count
If .Cells(intZielZeile, 1).Value = intSuche Then
.Cells(intZielZeile, 2).Value = strÜbergabe
Exit For
End If
Next intZielZeile
End With
Next_ZielZeile:
Next intQuellZeile
End With
Exit_Kontenübertragung:
Exit Sub
Err_KontenÜbertragung:
MsgBox "Fehler: " & Err.Number & " " & Err.Description
Resume Exit_Kontenübertragung
End Sub


Sorry. ;)
Gruß
Rainer

Anzeige
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 11:08:45
Raist10
Und nach Dim strÜbergabe As String füge bitte noch folgende Zeile ein:
On Error GoTo Err_KontenÜbertragung
Man sollte nie schnell helfen wollen, wenn man unter Zeitdruck ist. ^^
Gruß
Rainer
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 11:55:15
Joop
Hallo Rainer (at all),
tausend Dank für die schnellen Antworten. Es klappt soweit ganz gut.
Nur würde ich den Suchbereich des Makros ab der 3.Zeile starten wollen, da ich 2 Zeilen für die Überschriften brauche.
Was ich anfangs noch vergessen hatte zu sagen ist, dass einzelne Konten-Nummern in der ersten Spalte häufiger auftreten können, sie jedoch dann immer einen anderen Wert in der Spalte 2 aufweisen (mehrere Buchungen auf dieses Konto). So wie das Makro jetzt läuft, kopiert es mir nur einen der Werte für alle übereinstimmenden Konten-Nummern.
Bsp:
Tabelle 1:
KtoNr:____Wert in €
01_______2000
01_______3500
02_______0
02_______3000
03_______1000
04_______500
.
Das Makro kopiert mir folgendes
Tabelle 2:
KtoNr:_____Wert in €
01________3500
01________3500
02________3000
02________3000
04________500
P.S. in Tabelle 2 habe ich bewusst Konto 3 weggelassen, da dieser Fall auch auftreten kann.
Vielen Dank schon mal :-D
Anzeige
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 11:55:34
Joop
Hallo Rainer (at all),
tausend Dank für die schnellen Antworten. Es klappt soweit ganz gut.
Nur würde ich den Suchbereich des Makros ab der 3.Zeile starten wollen, da ich 2 Zeilen für die Überschriften brauche.
Was ich anfangs noch vergessen hatte zu sagen ist, dass einzelne Konten-Nummern in der ersten Spalte häufiger auftreten können, sie jedoch dann immer einen anderen Wert in der Spalte 2 aufweisen (mehrere Buchungen auf dieses Konto). So wie das Makro jetzt läuft, kopiert es mir nur einen der Werte für alle übereinstimmenden Konten-Nummern.
Bsp:
Tabelle 1:
KtoNr:____Wert in €
01_______2000
01_______3500
02_______0
02_______3000
03_______1000
04_______500
.
Das Makro kopiert mir folgendes
Tabelle 2:
KtoNr:_____Wert in €
01________3500
01________3500
02________3000
02________3000
04________500
P.S. in Tabelle 2 habe ich bewusst Konto 3 weggelassen, da dieser Fall auch auftreten kann.
Vielen Dank schon mal :-D
Anzeige
AW: Makro mit Suchfunktion, welches Zelleninhalte kopi
08.05.2009 14:57:12
Raist10
Lach ... sind ja nur Kleinigkeiten. ^^
Nach Deiner Auswertung macht das Programm genau das was Du wolltest, es überträgt den Wert eines Kontos in das nächste Tabellenblatt an die Stelle wo die gleiche Kontonummer steht. Deswegen stehen in Tabelle2 auch immer der letzte Wert eines Kontos aus Tabelle1.
Solche nicht ganz unwichtigen Sachen solltest Du i.d.R. vorher sagen. ;)
Also mal ganz vorsichtig ... jedes Konto kann in jedem Tabellenblatt mehrfach vorkommen, richtig? Und das mit unterschiedlichen Werten und soll nun selbstständig erkennen welchen Wert es nun wohin schreiben soll, also den Wert des zweiten Auftretens des Kontos dem Treffer des 4ten Auftreten des Kontos zuweisen oder so ähnlich.
Ein Automatismus benötigt schon in irgendeiner Art und Weise ein Kriterium / eine Logik an Hand dessen er festmachen kann, was es tun soll.
Woran unterscheidest Du, wenn Du die Übertragung händisch machst, welcher Wert wohin kommt?
Wie gesagt, brauche schon ein mathematisch Logik ... Prozeduren die nach Gefühl oder Erfahrung arbeiten, kann ich noch nicht programmieren. ^^
Gruß
Rainer
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige