Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalten ..

Moderator: ModerationP

Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalten ..

Beitragvon Arnostoner » 07. Jan 2021, 17:12

Hallo in dies Forum,

ich als Fast-noch-Laie knoble mal wieder an einem Problem. Ich hoffe, dieses mittels Excel-VBA lösen zu können, komme aber nicht voran:

Situation: Ich habe Excel-Tabellen voller Daten. Das besondere ist nun, dass innerhalb dieser Tabellen die jeweils letzten Spalten mit Aktualisierungen befüllt sind. Das heisst, immer wenn z.B. die Spalten X,Y,Z zusätzlich befüllt sind, müssten die Spalten A,B,C mit den Aktualisierungen aus X,Y,Z überschrieben werden (am besten für Dritte auf "Knopfdruck" mittels Button - aber das wäre keine Pflicht). Es handelt sich z.B. um Adressänderungen bei Umzügen usw. Insgesamt haben die Tabellen mehrere hundert Datensätze, wobei in den Spalten X,Y,Z die meisten Zeilen leer sind (da nur bei notwendiger Aktualsisierung befüllt).

Ich vermute, If-Then Schleifen könnten mir helfen, habe aber bisher kaum damit gearbeitet. Ich freue mich über hilfreiche Tipps bzw. Beispielcodes zum Erlernen.

Arno
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 148
Registriert: 04. Jan 2021, 15:55

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon HKindler » 07. Jan 2021, 17:38

Hi,

die letzte Spalte der Zeile 2 erhältst du mit {=MAX(WENN(E2:XFD2<>"";SPALTE(E2:XFD2)))} Achtung! Matrix-Formel! {}-Klammern nicht eingeben sondern Formel mit Strg-Shift-Enter abschließen (bei ganz aktuellem Excel braucht man as nicht). Dies schreibst du in eine Hilfsspalte - z.B. in Spalte D, also direkt nach deinen ersten drei Spalten A:C, die du füllen willst. In A2 schreibst du dann =INDEX(2:2;$D2) und ziehst diese Formel bis C2.

PS: Falls du einen Zirkelbezugsfehler bekommst, dann nimm die Formel =INDEX($E2:$XFD2;$D2-SPALTEN($A:$D$)) oder auch =INDEX($E2:$XFD2;$D2-4)
Zuletzt geändert von HKindler am 07. Jan 2021, 17:43, insgesamt 1-mal geändert.
Gruß,
Helmut

----------------------------
Windows 10 Enterprise (64 Bit) / Office 365 ProPlus (32 Bit)
Benutzeravatar
HKindler
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 6280
Registriert: 04. Jul 2013, 09:02
Wohnort: Schwarzwald

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Klaus-Dieter » 07. Jan 2021, 17:40

Hallo Arno,

üblicherweise haben Excellisten eine Zeilenorientierung. Das heisst, eine Zeile beinhaltet einen Datensatz. Insofern verstehe ich nicht, was du da machen willst. Zeige doch mal eine Beispieldatei.
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Künstliche Intelligenz ist besser als natürliche Dummheit.
Benutzeravatar
Klaus-Dieter
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 18547
Registriert: 27. Nov 2003, 23:03
Wohnort: Sassenburg

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Arnostoner » 07. Jan 2021, 17:58

Ich mache es an einem Beispiel deutlich.

Im konkreten Beispiel geht es um Spalte D und E. Sobald in Spalte E ein Eintrag vorhanden ist, soll der entsprechende Ort in Spalte D überschrieben werden mit dem Eintrag aus E. Falls D leer, soll der Eintrag in D erhalten bleiben. Also müsste z.B. in Spalte D Aachen mit Zwickau und Dresden mit München ersetzt werden, der Rest gleich bleiben.

Ich möchte dies mit einer simplen VBA-Schleife lösen, da ich mehrere dieser Tabellen mit hunderten Einträgen habe.

Wäre Super, wenn ich das irgendwie lösen könnte.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 148
Registriert: 04. Jan 2021, 15:55

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Klaus-Dieter » 07. Jan 2021, 18:05

Hallo,

warum überschreibst du das nicht direkt, wenn sich Daten ändern?
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Künstliche Intelligenz ist besser als natürliche Dummheit.
Benutzeravatar
Klaus-Dieter
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 18547
Registriert: 27. Nov 2003, 23:03
Wohnort: Sassenburg

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Arnostoner » 07. Jan 2021, 18:08

Hallo Klaus-Dieter,

gute Frage: Weil ich die Daten so geliefert bekomme :-(
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 148
Registriert: 04. Jan 2021, 15:55

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Klaus-Dieter » 07. Jan 2021, 18:15

Hallo,

OK, damit sollte das gehen:

Code: Alles auswählen
Option Explicit

Sub korrektur()
    Dim lngZeile As Long
    For lngZeile = 2 To Range("A1").End(xlDown).Row
        If Len(Cells(lngZeile, 5)) > 0 Then Cells(lngZeile, 4) = Cells(lngZeile, 5)
        ' Cells(lngZeile, 5) = "" ' Bei Bedarf aktivieren
    Next lngZeile
End Sub
Viele Grüße
Klaus-Dieter
Lösungsvorschläge sind, wenn es keinen anders lautenden Hinweis gibt, von mir getestet.
Künstliche Intelligenz ist besser als natürliche Dummheit.
Benutzeravatar
Klaus-Dieter
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 18547
Registriert: 27. Nov 2003, 23:03
Wohnort: Sassenburg

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon GMG-CC » 07. Jan 2021, 18:48

Moin,
Kannst/darfst/willst du Power Query > http://www.excel-ist-sexy.de/power-query-das-add-in/ nutzen?
Damit ist das mit einigen Mausklicks möglich. (Wobei ich nichts gegen VBA habe.)
Gruß
Günther (bekennender Power Query-Enthusiast) :!:

Excel-ist-sexy!
Wenn du keine Excel-Version angegeben hast, gehe ich von >=Excel 2016 aus.
Hilfe zur Selbsthilfe, nicht Komplettlösungen für den kommerziellen Einsatz und das "natürlich" gratis!
Benutzeravatar
GMG-CC
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4887
Registriert: 12. Nov 2011, 23:17
Wohnort: Geesthacht bei Hamburg

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Arnostoner » 08. Jan 2021, 08:53

Klaus-Dieter hat geschrieben:Hallo,

OK, damit sollte das gehen:

Code: Alles auswählen
Option Explicit

Sub korrektur()
    Dim lngZeile As Long
    For lngZeile = 2 To Range("A1").End(xlDown).Row
        If Len(Cells(lngZeile, 5)) > 0 Then Cells(lngZeile, 4) = Cells(lngZeile, 5)
        ' Cells(lngZeile, 5) = "" ' Bei Bedarf aktivieren
    Next lngZeile
End Sub


Hallo Klaus-Dieter,

großes Dankeschön. Funktioniert prima und ich versuche daraus zu lernen.

Arno
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 148
Registriert: 04. Jan 2021, 15:55

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon Arnostoner » 08. Jan 2021, 08:54

GMG-CC hat geschrieben:Moin,
Kannst/darfst/willst du Power Query > http://www.excel-ist-sexy.de/power-query-das-add-in/ nutzen?
Damit ist das mit einigen Mausklicks möglich. (Wobei ich nichts gegen VBA habe.)


Warum nicht, aber wäre komplett "Neuland". Unter Zeitdruck leider schwierig.
Arnostoner
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 148
Registriert: 04. Jan 2021, 15:55

Re: Excel: Inhalt Tabellenspalten ersetzen, wenn and. Spalte

Beitragvon GMG-CC » 08. Jan 2021, 10:55

Stimmt, unter Zeitdruck ist das nicht wirklich optimal.
Aber es lohnt sich wirklich, dieses Neuland zu betreten. Vieles ist für Non-VBA'ler leichter, weil einige Mausklicks reichen.
Im Anhang habe ich einmal mein Resultat aufgezeigt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Gruß
Günther (bekennender Power Query-Enthusiast) :!:

Excel-ist-sexy!
Wenn du keine Excel-Version angegeben hast, gehe ich von >=Excel 2016 aus.
Hilfe zur Selbsthilfe, nicht Komplettlösungen für den kommerziellen Einsatz und das "natürlich" gratis!
Benutzeravatar
GMG-CC
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4887
Registriert: 12. Nov 2011, 23:17
Wohnort: Geesthacht bei Hamburg


Zurück zu Excel Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: AlterDresdner und 3 Gäste