|
Kein Boot Hier kann man allgemeinen Small Talk halten. Es muß ja nicht immer um Boote gehen. |
|
Themen-Optionen |
#1
|
|||
|
|||
Excel VBA Script gesucht
Hallo,
habe folgende Daten in meiner Zwischenablage und möchte diese in Excel 97 einfügen und benötige dazu ein Script. Wer kann helfen!!! Daten in Zwischenablage Max Mustermann Musterstr. 1 11111 Musterstadt Tel.: 123456789 Und so soll es in Excel eingefügt werden A| B| C| D| E| leer| Max Mustermann| 11111 Musterstadt| Musterstr. 1| 123456789| Wer kann so etwas??? Gruß Maik
__________________
Bin für jeden Ratschlag dankbar und helfe auch gerne wo ich kann |
#2
|
||||
|
||||
Das BF kann alles - auch Hochdeutsch.
Programmieren lässt sich grundsätzlich alles, was man beschreiben kann. Die erste Frage wäre, wie oft der Anwendungsfall auftritt mit der Folgefragestellung, welchen Aufwand das dann rechtfertigt. Wodurch z.B. soll das Script ausgelöst werden? Es braucht einen Trigger (Schaltfläche, Ereignis, irgendwas...).
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#3
|
||||
|
||||
Sicher nicht die absolute Profilösung, fügt aber den Inhalt der Zwischenablage (Dein Format) in die Spalten B bis E der aktiven Zeile der Tabelle1 ein, wenn [Strg]+[e] (der Trigger) gedrückt wird.
Dazu wird die Tabelle2 als Zwischenspeicher genutzt, da sollten also keine Daten stehen. Sub Zwischenablage_einfuegen() ' ' Einfügen der Zwischenablage in die aktive Zeile mit [Strg]+[e] ' ' Tastenkombination: Strg+e ' Sheets("Tabelle2").Select Range("A1").Select On Error Resume Next ActiveSheet.Paste Range("A1").Select Selection.Cut Range("B1").Select ActiveSheet.Paste Range("A4").Select Selection.Cut Range("C1").Select ActiveSheet.Paste Range("A3").Select Selection.Cut Range("D1").Select ActiveSheet.Paste Range("E1").Select ActiveCell.FormulaR1C1 = "=MID(R[5]C[-4],7,20)" Range("E1").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("A6").Select Application.CutCopyMode = False Selection.ClearContents Sheets("Tabelle2").Select Range("A1:E1").Select Selection.Cut Sheets("Tabelle1").Select Rows(ActiveCell.Row).Select ActiveSheet.Paste End Sub Den Code in ein EXCEL-Makro kopieren, dann sollte es klappen. Gruß Lutz
__________________
Nur Tonic ist Ginlos. |
#4
|
|||
|
|||
Hallo Lutz,
danke für Deine Mühe!!! Werde ich heute Abend ausprobieren. Gruss Maik
__________________
Bin für jeden Ratschlag dankbar und helfe auch gerne wo ich kann |
#5
|
||||
|
||||
Hallo Maik,
gerne und viel Erfolg . Gruß Lutz
__________________
Nur Tonic ist Ginlos. |
#6
|
||||
|
||||
Zitat:
|
#7
|
||||
|
||||
Die vorher in Tabellenblatt2 wie gewünscht formatierten Werte erneut in die Zwischenablage ausschneiden und dann im Tabellenblatt1 in die aktuelle Zeile einfügen.
Kleine Schwachstelle übrigens des Codes: Die Daten werden IMMER in "Tabelle1" eingefügt. Aber trotzdem schon mal eine prima Hilfestellung!
__________________
vg Sascha
|
#8
|
||||
|
||||
Siehe:
Ansonsten richtig, die Zwischenablage wird in Tabelle2 eingefügt, dort neu Sortiert (Spalte zu Zeile) und die "Tel.: " entfernt, erneut kopiert und in Tabelle1 in die aktuelle Zeile (Cursorposition) eingefügt. Gruß Lutz
__________________
Nur Tonic ist Ginlos. |
#9
|
||||
|
||||
Die Lösung ist effektiv. Quick'n'Dirty.
Ich hätte über "GetFromClipboard" die Daten direkt aus der Zwischenablage geholt (und mittels Suchen von "vbCrLf" den relevanten Part gestrippt und eingefügt). Wäre ohne temporäre Tabelle ausgekommen, ist aber sehr viel aufwendiger.
__________________
Gruss aus Frankfurt, Hans Aus technischen Gründen befindet sich die Signatur auf der Rückseite des Beitrages! |
#10
|
||||
|
||||
Das wäre dann die Profilösung
Gruß Lutz
__________________
Nur Tonic ist Ginlos. |
|
|