1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Nicht ganz einfaches Such-Kopier-Einfüg-Makro

Discussion in 'Office-Programme' started by chrizz84, May 26, 2008.

Thread Status:
Not open for further replies.
  1. chrizz84

    chrizz84 ROM

    Hallo Leute,

    ich habe ein Problem mit dem Erstellen eines Excel Makros.

    Ich schilder euch mal kurz die Ausgangslage:
    Ich habe 2 Excel Dateien. In einer stehen sehr viele Produkte mit deren Eigenschaften (Tabelle ist ~300k Zeilen groß), in der anderen Datei sind etwa 500 dieser Produkte (bzw. deren Artikelnummer) aufgelistet jedoch ohne Eigenschaften.

    Jetzt soll das Makro aus dieser Datei die Artikelnummer kopieren, nach dieser in der anderen Datei suchen, deren Eigenschaften kopieren, und transponiert in die andere Datei einsetzten. Sieht bis jetzt so aus:
    Ihr seht wahrscheinlich schon das Problem, das Makro sucht immer nach einer spezifischen Nummer, somit bekomm ich immer die selben Eigenschaften übermittelt.
    Kann mir da wer helfen, wie ich das Problem lösen kann?

    Vielen Dank!
    Christian
     
  2. Beverly

    Beverly Halbes Megabyte

    Hi Christian,

    verwende z.B. eine InputBox

    Code:
        Dim strSuche As String
        strSuche = InputBox("Bitte Suchbegriff eingeben ")
        If strSuche <> "" Then
        
            ' hier deinen restlichen Code
        
        End If
    
    und anstelle What:="30003184000" schreibst du What:=strSuche
     
  3. Hascheff

    Hascheff Moderator

    Hi Beverly,
    hast du das übersehen:
    Ich empfehle, beide Tabellen in Access zu importieren. Dort kann man dann ganz einfach eine Zuordnung vornehmen.
    Was du hast, ist eine Datenbank und Access ist ein Datenbankprogramm. Excel ist da nur eine Krücke.
     
  4. Beverly

    Beverly Halbes Megabyte

    Hi Hascheff,

    Nein, natürlich nicht. Wären es 5000 Produkte oder mehr, würde ich dir wahrscheinlich zustimmen, bei 500 jedoch - man muss nicht gleich mit Kanonen auf Spatzen schießen. Excel kann sehr wohl als Datenbank fungieren - ich habe eine Excel-"Datenbank" mit über 2000 Einträgen und alles funktionert bestens und keinerlei Performance-Verluste. Dabei sind einige der Computer, auf denen sie genutzt wird, älter als 5 Jahre. Der einzige Nachteil von Excel gegnüber Acces ist, dass Access sich einfacher programmieren lässt, weil schon "vorgefertigte" Strukturen, Routinen und Bausteine exisiteren, die man "nur" an die eigenen Gegebenheiten anpassen muss. In Excel dagegen muss man alles "zu Fuß" und selbst programmieren.

    Nichts für ungut und nichts gegen Acces - ich kenne beide, musste aber hier mal eine Lanze für Excel brechen :)
     
  5. Hascheff

    Hascheff Moderator

    Nichts für ungut, ich brech auch gern noch eine Lanze für Excel.

    Ich will nur vorher noch kurz skizzieren, wie ich die Frage "Excel oder Access" den Schülern darlege.
    Nach der Problematik "Tabellenkalkulation" definiere ich kurz den Begriff "Datenbank" und stelle Access kurz vor. Am Ende steht das Fazit: Excel hat die Fähigkeiten für einfache Datenbanken, ihr müsst aber wissen, dass es für komplexe Sachverhalte spezielle Programme gibt. Für 99% von euch heißt das dann: Hier muss ein Fachmann her.

    Soweit zur Theorie. Aber meist ist es so, dass ein Problem allmählich wächst. Und in Access hat man am Anfang erst mal mehr Arbeit. Man muss die Datenstruktur definieren und vieles mehr.
    Ich benutze auch in manchen Fällen einfach Excel und die Erstellung einer Access-DB schiebe ich vor mir her, bis mal Zeit ist.

    Aber wenn es kompliziert wird, müssen die meisten Leute auch in Excel Experten heranlassen.
     
  6. Urs2

    Urs2 Megabyte

    Da geht es aber um gigantische Datenmengen >> 300'000 Zeilen!

    Mit meinem Excel2003 ginge das natürlich noch nicht, aber Frage >
    Kann man mit solch grossen Tabellen in Excel überhaupt noch vernünftig arbeiten?
    Sind in Excel2007 dafür mehr Datenbankfunktionen eingebaut?

    Da muss im Code ja dann wirklich auch der kleinste überflüssige Umweg weggelassen werden... (meine Unsitte...)

    Gruss Urs
     
  7. chrizz84

    chrizz84 ROM

    Danke für die Hilfe Beverly, hat prima geklappt!
    Mit Access hab ich keine Erfahrungen, deshalb lass ich da erst mal die Finger davon!
    Urs, ich glaube die Excel Tabelle ist aus einem Programm exportiert, die werden da schon anders mit umgehen!!

    Nochmals DANKE!
    christian
     
Thread Status:
Not open for further replies.

Share This Page