Diskussionsgruppe: Tabellenkalkulation
Hallo, ich habe folgendes Problem: ich habe verschiedene Dateien, die alle gleich aufgebaut sind. Das Tabellenblatt, das bearbeitet werden soll hat immer den gleichen Namen und die Spalte A, sowie die Zeilen 1-7 sind auch identisch. Ich muss allerdings immer wieder in allen Dateien in Spalte A Texte einfügen (und zwar irgendwo mittendrin). Wollte das ganze so lösen: Der Benutzer soll über eine msgBox gefragt werden, wie der Text in der Zeile lautet, über der der neue Text eingefügt werden soll. Dann soll das Makro diese Zeile markieren und eine Zeile einfügen. Anschließend soll der Benutzer wieder über eine msgBox gefragt werden wie der neue Text lautet und dieser soll dann in die eingefügten Zeile übertragen werden. Ist das möglich? Wie man dann das Makro automatisch für alle anderen Dateien abspielt (mit workbooks.open usw.) krieg ich dann selber hin, aber an dem Eingabemakro bin ich leider gescheitert. Vielen Dank für Eure Hilfe!!
Von: Mini249 Datum: 27.04.2007, 10:37
Antwort 1
von coros vom 27.04.2007, 18:56
Hallo Mini249,
kopiere nachfolgendes Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche.
Option Explicit
Sub Einfügen() Dim Prüftext As Variant, Einfügtext As Variant Dim i As Integer Rem: Eingabefenster öffnen Prüftext = InputBox("Bitte Text eingeben, nachdem eine Leerzeile eingefügt werden soll") Rem: Auswertung ob eventuell kein Text eingetragen wurde oder Abbruchtaste betätigt wurde Rem: Dann Prozedur beenden If Prüftext = "" Or Prüftext = False Then Exit Sub Rem: Schleife zum Finden des Prüftextes, Gesucht wird in Spalte A von Zeile 1 Rem: bis zur letzten gefüllten Zelle For i = 1 To Range("A65536").End(xlUp).Row Rem: Wenn der Wert in der durch die Schleife angesprochenen Zelle gleich dem Wert Rem: der Variablen "Prüftext" dann... If Cells(i, 1) = Prüftext Then Rem: ...Eingebaefenster öffnen... Einfügtext = InputBox("Bitte Text eingeben, der eingefügt werden soll") Rem: Auswertung ob eventuell kein Text eingetragen wurde oder Abbruchtaste betätigt wurde Rem: Dann Prozedur beenden If Einfügtext = "" Or Einfügtext = False Then Exit Sub Rem: ...Zeile über den gefunden Text einfügen... Rows(i).Insert Shift:=xlDown Rem: ...Text einfügen... Cells(i, 1) = Einfügtext Rem: Prozedur beenden Exit Sub End If Next End Sub
Mit dem Makro wird in Spalte A nach einem Wert gesucht, der über eine Inputbox eingetragen wurde. Wurde der Text gefunden, wird darüber ein Text eingefügt, der ebenfalls über eine Inputbox eingegeben wurde.
Ich hoffe, Du meintest das so. bei Fragen melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG, Oliver Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2
von Mini249 vom 02.05.2007, 11:00
Super hat funktioniert!! Vielen, vielen Dank!
|
|