Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zelle einfügen über VBA mithilfe msgBox





Frage

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!!

Antwort 1 von coros

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

Super hat funktioniert!! Vielen, vielen Dank!

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: