Excel VBA in anderer Excel-Datei suchen und in der aktuellen überschreiben

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Um in den beiden Arbeitsmappen (in der Frage mit Excel-Dateien bezeichnet) vergleichen zu können, schlage ich vor, die Blanks/Leerzeichen zu eleminieren.

Ein entsprechendes Makro füge ich als Bildschirmkopie bei.

Bereinigt wird der Zellinhalt der jeweils aktiven Zelle und das Ergebnis in der rechts daneben liegenden Zelle ausgegeben (...Column + 1).
Der bereinigte Zellinhalt befindet sich der Variablen "suchergebnis" und kann für den Vergleich benutzt werden.

Natürlich ist das nur der Anfang des Vorhabens, aber damit bist Du schon mal auf dem Weg.

Gruß aus Berlin

Blanks löschen - (Computer, programmieren, Excel)

cool,das hilft mir weiter. aber kann man diesen teil mit dem (column + 1) auch so schreiben,dass er es in der ganzen mappe macht? weil ich hab in der mappe etwa 400 zeilen mit aufträgen und dann 400 mal zeile runter gehen und die "anwendung" starten kostet auch noch viel zeit. ich soll es ja so einrichten,dass man möglichst nur eins der beiden oder auch beide mappen öffnet, alt+f11 drückt,das makro aus einer textdatei holt und einfügt und dann auf f5 gehtnd dann die hauptarbeit getan ist.

wie gesagt,ich hab das erst einmal gemnacht und das vor 3 jahren mit nem winzigen befehl...stehe also inzwischen wieder kurz vor 0 :D

0

Leerzeichen eliminieren kann man auch mit dem eingebauten Suchen/ersetzen-Dialog: Spalte markieren, dann

Strg+f (f für finden), Blatt "ersetzen", Was?:Leerzeichen;wodurch?:nichts eingeben, Option alle ersetzen.
Oder gleich Strg+h (k.A., wofür h steht) =>Ersetzen-Dialog.

0

ich würde das ganz ohne Makro machen: in Deiner Kollegen(Ko)-Datei seien die irregulär geschriebenen PjNrn in Spalte A (ALLE ALS LABELS, nicht gemischt!!). Ebenso in Deiner Datei, aber ohne Leerzeichen. Nun kannst Du die Wildcard-Funktion in Vergleich nutzen: der * steht für ALLES und auch für NICHTS:
Zerlege Deine Nummer in (hier 5) Einzelziffern mit jeweils einem * davor, dazwischen und danach mit folgender (Teil-)Formel in K2 bzw L2:

=VERGLEICH("*"&TEIL(A2;1;1)&"*"&TEIL(A2;2;1)&"*"&TEIL(A2;3;1)&"*"&TEIL(A2;4;1)&"*"&TEIL(A2;5;1)&"*";Ko!A:A;0)

Egal, was nun vor, nach oder zwischen den Ziffern steht (ausser anderen Ziffern), die Ziffernfolge wird erkannt! Die Syntax für die Ko-Datei musst Du anpassen, klick einfach anstatt es einzutragen nach dem Semicolon auf den SpaltenkopfA der vorher geöffneten Ko-Datei, dann müsste es stimmen).

um diese Formel herum baust Du die index-Funktion:

=index(Ko!K:K;Vergleich(...);1) bzw =index(Ko!L:L;Vergleich(...);1)

und ziehst das die 400 Zeilen runter.
Nun müssten die Ko!-Einträge in den Spalten K:L in Deine Datdei übernommen worden sein.
Sichere eine Formel woanders, klick auf K:L (ganze Spalten am Kopf markieren), kopieren, inhalte-einfügen:WERTE.
Fertig ist das Update.
Mach das aber in einer Blattkopie, denn die alten Werte sind verloren. Es sei denn, Du bist sicher, dass Du sie nicht mehr brauchst.
Wenn Du Dein Altblatt und Dein NeuBlatt vergleichst (in einem neuen Blatt oder in einer anderen Spalte, kannst Du auch Darstellen, wo sich nichts verändert hat: Wenn(Neublatt!K2=Altblatt!K2;"keine Änd.";"+")
Viel Erfolg!

Noch einfacher wäre es gewesen, mit Strg+h = suchen nach Leerzeichen und ersetzen durch nichts(Dialogzeile einfach leer lassen) alle ersetzen die Ko!-Nummern zu bereinigen, ggf nicht speichern nach update. Aber ich bin davon ausgegangen, dass dir das zu riskant ist (wenn doch mal gespeichert würde)?

Erst einmal die Erweiterung auf beliebig viele Zeilen (max 420, ist aber änderbar, stoppt bei Leerzeile).

Sub ff()
For j = 2 To 420 'Start und Endezeile
suchergebnis = ""
such = Cells(j, 3) 'holt sich den Eintrag aus Zeile j (C2, C3 ..)
If such = "" Then Exit Sub 'Abbruch, wenn leere Zelle
For i = 1 To Len(such) 'Schleife über Anzahl Zeichen
    Zeichen = Mid(such, i, 1) 'betrachtet jedes einzelne Zeichen
        If Zeichen <> " " Then ' prüft, ob Blank
            suchergebnis = suchergebnis & Zeichen ' setzt wieder zusammen
        End If
Next i
' und Ausgabe des von Blanks befreiten Wertes eine Spalte rechts
' in der entsprechenden Zeile
Cells(j, 4) = suchergebnis
Next j
End Sub

Für weitergehende Hilfe reicht meine Zeit im Moment nicht.
Bin für den Rest des Monats nicht mehr online.
Frag im Sept nochmal nach, wenn das hier nicht reicht.

Gruß aus Berlin

Blanks löschen 2 - (Computer, programmieren, Excel)

Warum aktualisiert Excel in einer Graphik die Werte nicht, wenn in der Quelltabelle geändert?

Hallo. Ich habe folgendes Problem. Ich habe ein einfaches Balkendiagramm in ein Excel-Workbook eingefügt und es auf eine kleine Tabelle bezogen. Ändere ich nun die Werte in der Tabelle, verändert sich das Diagramm nur zum Teil. Es geht um Weekday Raten und Weekend Raten. Das sind zwei Spalten in der Tabelle und es ändern sich nur die Balken für Weekday (Spalte ist in der Tabelle weiter links). Das gesamte Dokument ist etwa 16MB gross. Ich hab in einigen Foren bereits gelesen, dass es an der Anzahl an Formeln (sind schon einige) und an der Anzahl der VB-Codes (sind auch ein paar) liegen könnte, weil Excel`s Grenze erreicht ist. Ich hoffe aber, dass jemand eine Lösung für dieses Problem hat. Danke Rene

...zur Frage

Excel Speichert nicht! Was tun?

Einige Mitarbeiter an meiner Uni klagen darüber, dass sich Excel-Dateien nicht immer abspeichern lassen. In dem spezifischen Fall einer Mitarbeiterin trat dieses Problem schon einmal auf, mit einer Neuinstallation von Office trat es kurzzeitig nicht mehr auf, aber heute wieder. Sie hat mehrere Arbeitsmappen parallel zueinander geöffnet, und wenn sie eine bestimmte Mappe speichern will, speichert Excel eine andere geöffnete Arbeitsmappe, aber nicht jene, die gespeichert werden soll. Auch der Versuch zu Drucken führt zu der Druckvorschau einer anderen Datei. Nach einiger Zeit stürzt Excel dann komplett ab, sprich alle offenen Arbeitsmappen werden geschlossen, ohne gesichert zu werden. Der Absturz macht sich durch ein Dialogfeld 'Excel funktioniert nicht mehr. ->Programm schließen' bemerkbar, andere Optionen als Programm schließen gibt es nicht. Wir wissen nicht weiter, und unsere Kollegen sind genervt, denn wenn man regelmäßig speichern WILL, es aber nicht klappt, frustriert das schon sehr.

Ich hoffe jemand kann mir/uns helfen, dieses Problem ohne ständige Neuinstallationen von Office zu beheben.

Randinformationen:

+Office 2013

+Nutzer sind keine Administratoren, ich (EDV Abteilung) jedoch schon

+Wir arbeiten mit Gruppenrichtlinien und dem Configuration Manager

+Windows 10 Enterprise LTSB

Vielen Dank im Voraus für jeden Vorschlag, Tipp, oder Erfahrungswert!

Grüße, Christin

...zur Frage

Trainingsfortschritte protokollieren (Masse, Fotos etc.) Suche App, Dokument

Hallo,

Ich möchte gern mit einem Training anfangen und alle Masse die man so berechnet eintragen: Körpergewicht, BMI, Körperfett etc. gibt irgendwo eine Vorlage im Internet? Hab bis jetzt nicht schlaues gefunden.

Am besten wäre ein App wo gleich noch erklärt wird wie man richtig misst und welche Körperteile alle und wo man noch Fotos einfügen kann. Möchte dann so alle 2-3 Monate die Masse dann neu berechnen zum schauen wie meine Fortschritte sind. Kann auch nur ein Excel oder Word-Dokument sein :) Hauptsache ne Vorlage

Danke :-*

...zur Frage

Für den Job lügen?

Servus Community,

ich habe ein Praktikumsangebot im Ausland erhalten. Jedoch wird nach fundierten/erweiterten Kenntnissen in Excel VBA und SQL gefragt. Ich würde diese Chance nicht gerne verpassen Auslandserfahrungen im Studium zu sammeln. Daher meine Frage:
Ist es in Ordnung wenn ich lüge und sage, dass ich die Fähigkeiten besitze?
Anzumerken ist, ich bin Programmieraffin und es sollte keine Probleme darstellen eine neue Programmiersprache anzueignen und da die Stelle frühestens erst im März nächsten Jahres verfügbar ist, hätte ich mindestens ein halbes Jahr Zeit. Doch es geht mir darum, dass ich für die Stelle meine Angaben jetzt angeben muss.
Darf ich also flunkern und sagen, dass die geforderten Fähigkeiten zum Startzeitpunkt also gegeben sind?

LG

...zur Frage

ComboBox Name in Excel VB Editor Object Drop Down?

Hallo. Ich habe eine Excel-Datei mit Makros. Auf einem Worksheet gibt es eine ActiveX ComboBox, die selLOS heisst. Wenn ich im VB Editor auf das entsprechende Worksheet klicke, kann ich rechts im Object-Drop Down selLOS auswählen. Wenn mein Kollege in Dubai das gleiche versucht, erscheint selLOS nicht in der Liste. Wir haben beide Office 2010. Bei ihm ging es, als er noch Office 2007 benutzt hat. Muss man irgendwo eine Einstellung ändern, damit der Name der ComboBox in dieser Liste erscheint? Das Problem ist nämlich, dass beim Aktivieren dieses Worksheets ein Makro gestartet wird, in dem selLOS als Variable benutzt wird. Geht bei mir. Aber bei ihm eben nicht - Fehlermeldung ist dann Variable not defined. Seine ActiveX und Makro Security Settings sind wie bei mir. Vielen Dank.

Ich hatte jetzt die Möglichkeit, direkt an dem Computer, der die Probleme verursacht, zu arbeiten. Das fragliche ActiveX Dropdown wird nicht aktiviert; man kann es also nicht benutzen. Im Designer-Mode kann ich es auswählen und der Name, der vergeben wurde, stimmt auch. Ich habe dann versucht, in einem komplett leeren neuen Excel Dokument, ein ActiveX Element einzufügen. Dabei bekam ich die Fehlermeldung 'Object cannot be inserted!'.

Woran kann das liegen? Ich habe die Securitysettings auf ein Minimum gesetzt und trotzdem geht es nicht. Gibt es noch eine Einstellung, die man ändern kann?
Danke nochmal.

...zur Frage

Excel bild oder text hinter den Zellen?

Hallo zusammen
Ich muss für die Arbeit ein Excel dokument erstellen, auf das dann andere Mitarbeiter zugriff haben und sich eintragen können. Ich muss einen Text oder ein kleines Bildchen (auf dem dieser Text steht) an einer bestimmten Stelle auf dem Dokument haben, so das alle Daten die in die Zellen eingetragn im Vordergrund sind. Wenn ich die Funktion "Hintergrund" bei Reiter Seitenlayout benutze, ist das Bild über das gesamt Excel Dokument verstreut und ich brauche dies an einer bestimmte stelle, doch leider lässt sich das irgendwie nicht anpassen. Ich kenne den Trick mit Kopf und Fusszeile aber das Bild soll man nicht nur im Kopfzeilenmodus sehen. Also wenn ich aus dem Kopfzeilen Modus auf Normal wechsle ist das bild nicht mehr da. Wenn ich es mit dem Textfeld anstatt Bild versuche und dieses transparent mache damit man die Zellen hintendrann sieht, ist das Textfeld immer im Vordergrund, und wenn die Leute dann genau die Zellen anklicken auf denen das Texfeld plaziert ist, klicken sie immer das Textfeld anstatt die zellen im Hintergrund an. Ich weis das man da mit den Pfeiltaste navigieren kann, aber manche Leute sind zu Doof dafür.

...zur Frage

Was möchtest Du wissen?