Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1104to1108
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

Zeilen ersetzen wenn

Zeilen ersetzen wenn
Andreas
hallo zusammen
wie kann ich es bewerkstelligen, dass alle zeilen in Tabelle1 ersetzt werden, in denen der Eintrag (in allen zellen der spalte B) mit dem Wert in Tabelle2 Zelle C15 übereinstimmt?
die aktive tabelle ist jeweils «tabelle2»
Im Forum habe ich gefunden, wie dies für die werte im selben tabellenblatt aussieht. leider jedoch nichts darüber wie dies für meine fragestellung geht.
kann mir jemand einen tipp geben?
vielen herzlichen dank
andreas

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

Betreff
Benutzer
Anzeige
AW: Zeilen ersetzen wenn
28.09.2009 09:20:47
Adelhorst
Hallo Andreas.
Als VBA'ler würde ich im Worksheet_Change-Ereignis von Tabelle2 das Target auf Zellenadresse "C15" abfragen und bei Übereinstimmung ein Macro starten, das die Tabelle1 dann entsprechend durchsucht und ändert.
Wäre dies eine Lösungsmöglichkeit für dich?
Gruß Adelhorst.
unklar
28.09.2009 09:30:36
Erich
Hi Andreas,
was bedeutet "alle Zeilen in Tabelle1 ersetzt werden"? Wodurch soll eine betroffene Zeile denn ersetzt werden?
Durch eine oder mehrere andere Zeilen? Woher sollen die kommen?
Vielleicht postest du mal ein Beispiel (vorher - nachher) und/oder einen Code, der das auf dem selben Blatt erledigt
und/oder einen Link auf einen entsprechenden Archivbeitrag.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen ersetzen wenn
28.09.2009 09:33:37
Tino
Hallo,
vielleicht geht’s es so.
Du hast nicht geschrieben mit was die Zellen ersetzt werden sollen.
Du hast auch nicht geschrieben wie Du es Dir vorstellst wie es ablaufen soll,
automatisch oder über einen Button.
Im Makro werden die Zellen leer gemacht in denen es zu einer Übereinstimmung kommt.
Dies ist mehr eine Lösung mittels Button.
Sub Ersetze()
Dim meAr, A As Long
Dim WerteBereich As Range
Dim WertAusC15

With Sheets("Tabelle1")
 WerteBereich = .Range("B1", .Cells(.Rows.Count, 2).End(xlUp))
End With

WertAusC15 = Sheets("Tabelle2").Range("C15")
meAr = WerteBereich

For A = 1 To Ubound(meAr)
 If WertAusC15 = meAr(A, 1) Then
  meAr(A, 1) = Empty
 End If
Next A

WerteBereich = meAr
End Sub

Gruß Tino
Anzeige
Korrektur...
28.09.2009 09:46:23
Tino
Hallo,
in der Zeile
WerteBereich = .Range("B1", .Cells(.Rows.Count, 2).End(xlUp))
fehlt noch Set
Set WerteBereich = .Range("B1", .Cells(.Rows.Count, 2).End(xlUp))
Gruß Tino
Was ist mit Formeln?
28.09.2009 09:46:35
Erich
Hi Tino,
bist du sicher, dass in Spalte B keine Formeln stehen?
(bevor die Routine gelaufen ist, versteht sich - nachher stehen da ja bestimmt keine mehr...)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
keine Ahnung...
28.09.2009 09:51:07
Tino
Hallo,
was in den Zellen steht,
er schreibt mal was von einträgen und dies ist bei mir keine Formel.
Gruß Tino
AW: Zeilen ersetzen wenn
28.09.2009 13:53:02
Andreas
hallo zusammen
ups, entschuldigung da hab ich ja einiges vergessen.
also:
- das Makro soll über einen Button ausgelöst werden
- die Einträge der Zeilen (Spalte A bis K) sollen durch jene im Tabellenblatt2 Bereich L39:V50 ersetzt werden - sofern Werte darin enthalten sind
- Bereich L39:V50 des Tabellenblatt2 hat es keine Formeln. Gleiches gilt für die Spalte B in Tabellenblatt1
Musterdatei: https://www.herber.de/bbs/user/64762.xls
Auf jeden Fall herzlichen Dank für die Rückmeldungen.
Andreas
Anzeige
Zellen bedingt überschreiben
28.09.2009 17:36:51
Erich
Hi Andreas,
probier mal mit einem Steuerelement-Button auf Blatt "Tabelle2":

Private Sub CommandButton1_Click()
Dim varW, varQ, rngQ As Range, lngV As Long, lngB As Long, varZ
With Sheets("Tabelle1")             ' "Tabelle 2" ist aktives Tabellenblatt
If Not IsEmpty(Cells(15, 3)) Then
varW = Cells(15, 3)
varQ = Application.Match(varW, Cells(39, 12).Resize(12), 0)
If IsNumeric(varQ) Then
Set rngQ = Cells(varQ + 38, 12).Resize(, 11)
lngV = 7
lngB = .Cells(.Rows.Count, 1).End(xlUp).Row
varZ = Application.Match(varW, .Cells(lngV, 1).Resize(lngB - lngV + 1), 0)
Do While IsNumeric(varZ)
.Cells(varZ + lngV - 1, 1).Resize(, 11) = rngQ.Value
lngV = lngV + varZ
If lngV > lngB Then Exit Do
varZ = Application.Match(varW, .Cells(lngV, 1).Resize(lngB - lngV + 1), 0)
Loop
End If
End If
End With
End Sub
oder hier in der Mappe: https://www.herber.de/bbs/user/64764.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeilen ersetzen wenn
30.09.2009 07:49:35
Andreas
hallo erich
danke für deine hilfe. das hilft mir bereits sehr weiter.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige