Clever-Excel-Forum

Normale Version: SVerweis - Daten aus unterschiedlichen Datenblätter kopieren, filtern und einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Ich habe schon mal programmiert, ein Grundwissen ist aufjedenfall vorhanden.

Es ist keine einmalige Aktion. Die Liste kommt 1x wöchentlich und muss verarbeitet werden.

Ich möchte eigentlich, das Grundgerüst erstellen, sodass ein Excel-Laie mit dem SVerweis oder Makros weiterarbeiten kann.
Hallo

Zitat:Ich habe schon mal programmiert, ein Grundwissen ist aufjedenfall vorhanden.

Schön das Grundwissen vorhanden ist, meine Makros sind in simpel Schreibweise und m.E. so gut erklaert das man sie verstehen kann.  
Würde mich freuen wenn der Thread damit gelöst ist.  

Ich glaube das einfaches Grundwissen aber nicht ausreicht um so ein Makro auf Anhieb zu schreiben.  Da steckt schon Erfahrung drin.  Und es ist so ausgelegt das die Anzahl der Tabellen keine Rolle spielt, wie auch die Laenge der Zeilen in den einzelnen Tabellen.  Die Zeilenlange wird für jede Tabelle als Einzelfall neu ermittelt.  

Ich nenne das ein Universal Makro, um neue Rückfragen im Forum zu vermeiden. Im Sinne von:  meine Mappe hat sich veraendert, neue Tabellen dazugekommen, was jetzt?  Einen guten Programmierer juckt das nicht, der denkt dafür mit!

Rückmeldung ob es gefaellt und funktioniert waere nett.

mfg   Gast 123
(15.05.2017, 12:05)Gast 123 schrieb: [ -> ]Einen guten Programmierer juckt das nicht, der denkt dafür mit!

Dem widerspreche ich mit aller denkbaren Deutlichkeit.
Das zuvor Gesagte trifft zwar teilweise auf Antworten in Foren zu, hat aber aus meiner Sicht nichts mir "ein guter Programmierer" zu tun. Ein guter (Auftrags-) Programmierer wird solche Dinge im Vorwege abklären und nicht einen Haufen Müll produzieren, damit auf jeden Fall das darin enthalten ist, was vielleicht wegen mangelnder Beschreibung des Fragestellers einmal gebraucht wird.

Zur Klarstellung: Dass solch eine Code-Sammlung in Foren-Antworten legitim sein kann, das bestreite ich nicht. Nur hat das aus meiner Sicht keineswegs das Prädikat "Gut" verdient.
(15.05.2017, 12:05)Gast 123 schrieb: [ -> ]Rückmeldung ob es gefaellt und funktioniert waere nett.
Hallo,

vielen Dank für die Makros, jedoch wird in der Spalte Quelle ein wiederholender Datensatz in einer weiteren Zeile hinzugefügt. Das Ziel ein mehrfach-auftauchender Datensatz sollte in einer Zelle gefasst werden (siehe Anhang)
Hallo

Sorry, ich hatte tatsaechlich einen dummen Flüchtigkeitsfehler im Makro.  Ist mir jetzt durch die Rückfrage aufgefallen.
Anbei den geaenderten Do Loop Code.  Diesen Teil bitte auswechseln, dann sollte es richtig klappen.  Würde mich freuen.

mfg  Gast 123
Code:
            Do  'Wiederholschleife für Fam.Namen
              If rFind.Offset(0, -1) = VName And _
                 rFind.Offset(0, 1) = GebDat And _
                 rFind.Offset(0, 2) = Wohnort Then
                 flg = rFind.Cells(1, 4).Value & ", "  'Text + ","
                 rFind.Cells(1, 4).Value = flg & Worksheets(k).Name
                  Exit Do  'Vorhanden = No
               End If
               Set rFind = .Columns(2).FindNext(After:=rFind)
            Loop Until rFind.Address = Adr1
(15.05.2017, 14:33)Gast 123 schrieb: [ -> ]Sorry, ich hatte tatsaechlich einen dummen Flüchtigkeitsfehler im Makro.  Ist mir jetzt durch die Rückfrage aufgefallen.
Anbei den geaenderten Do Loop Code.  Diesen Teil bitte auswechseln, dann sollte es richtig klappen.  Würde mich freuen.


Hat alles geklappt, vielen Dank
Hi,
das Makro gefällt mir gut!

Hierzu noch eine VBA-Anfänger-Frage:
Nach Durchlauf des Makros ist in der letzten Zeile der Bereich A-D markiert.

Wie bekomme ich diese Markierung weg?
Hallo Ralf

freut mich das dir das Makro gefaellt. Es gibt zwei Lösungen dazu.  Setze entweder vor End Sub den Cursor mit Range(xx).Select auf eine bestimmte Zelle deiner Wahl.  Oder merke dir nach Sub Makroxxxx mit der Variable ActivAdr = ActiveCell.Address die Zelle der aktiven Adresse und setze vor End Sub den Cursor mit Range(ActivAdr).Select wieder zurück.  Ziemlich simpel, oder ???   (gewusst wie)

mfg  Gast 123
Ich möchte vorschlagen:
Code:
Sub M_snb()
  With CreateObject("scripting.dictionary")
    For Each it In Sheets
      sn = it.Cells(1).CurrentRegion.Resize(, 5)
      For j = 2 To UBound(sn)
        sn(j, 5) = it.Name
        .Item(sn(j, 1) & "_" & sn(j, 2) & "_" & sn(j, 3)) = Application.Index(sn, j)
      Next
    Next
       
    Sheet1.Cells(2, 10).Resize(.Count, 5) = Application.Index(.items, 0, 0)
  End With
End Sub
Hi,

(20.05.2017, 13:50)Gast 123 schrieb: [ -> ]Ziemlich simpel, oder ???   (gewusst wie)

ich dachte immer, das geht auch mit
Application.CutCopyMode = False
weg.
Seiten: 1 2 3