Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
716to720
716to720
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Einfügen aus Word in verbundene Zellen

Einfügen aus Word in verbundene Zellen
12.01.2006 11:09:05
R.Schmitt
Schönen Tag zu miteinander,
ich stehe gerade vor dem Problem, daß unsere Anwender einen in Word
erstellten Text dort kopieren und dann in einen Zellbereich "C3:E3"
einfügen können wollen.
Klappt aber nicht so ganz, da es wohl an dem Zellverbund scheitert.
Zur Verfügung haben die Nutzer auch nur die Commandbar("Cells") Optionen
Kopieren und Einfügen und eben (aus Platzgründen) leider keine Bearbeitungs-
leiste (wo man den Text ja nach Doppelklick einfügen kann)
Was also tun um einen aus Word kopierten Text in einen Zellverbund ein-
zufügen ?
Das Ereignis als solches abfangen, Zellverbund auflösen oder wie nun ?
Ratlose Grüße
&
Vielen Dank
R.Schmitt

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfügen aus Word in verbundene Zellen
12.01.2006 11:10:22
Dr.
Hi,
Zellverbund auflösen ist schonmal ne prima Idee ;-)
AW: Einfügen aus Word in verbundene Zellen
12.01.2006 11:23:33
R.Schmitt
Hallo Dr.
das kann´s dann aber nicht gewesen sein - oder etwa doch ?
Gibt´s da keinen elgenteren Weg ?
Dann hänge ich außerdem immer noch daran, das Ereignis als
solches (wenn der User in Cells auf "Einfügen" klickt) ab-
zufangen.
Vielen Dank jedenfalls
R.Schmitt
AW: Einfügen aus Word in verbundene Zellen
12.01.2006 11:38:42
Dr.
Also unelegant und immer wieder problematisch sind höchstens verbundenen Zellen. Um auf Dein Problem näher eingehen zu können, wäre ein bisschen Code nicht schlecht.
AW: Einfügen aus Word in verbundene Zellen
12.01.2006 12:32:30
R.Schmitt
Hallo nochmal,
nimm dir ein Arbeitsblatt und verbinde die Zellen C2:E2
Öffne ein Word Dokument und kopiere dort einige Textzeilen.
Wechsle wieder in die .xls Arbeitsmappe und versuche mit
Rechtsklick und dann "Einfügen" den kopierten Text einzu-
fügen.
Man erhält ein MsgBox :
Die Daten in der Zwischenablage sind in Größe und Format
mit dem markierten Bereich nicht identisch, sollen die
Daten trotzdem eingefügt werden.
Wie bringe ich den Text denoch in C2:E2 ?
Der Code fehlt mir ja eben - also kann ich leider
auch nicht mit dienen ;-))
Viele Grüße
R.Schmitt
Anzeige
Es wird noch schlimmer.......
12.01.2006 12:44:42
R.Schmitt
schon klar - Excel ist keine Textverarbeitung.
Trotzdem :
Mir fällt gerade noch - oh Grauß - auf, daß in dem
Word-Text selbst ja Zeilenumbrüche vorhanden sein
können, die selbst nach dem Auflösen des Zellverbundes
dann dafür sorgen, daß der kopierte Text nich in den
Zellverbund, sondern fein nach Zeilen sortiert unter-
einander weg eingefügt wird.
Soll ja auch nicht sein.
Geht sowas : ActiveCell.value = Inhalt der Zwischenablage ?
Immer noch ratlos
R.Schmitt
Fast die Lösung
12.01.2006 13:17:14
R.Schmitt
Der Code ist nicht von mir sondern modifiziert aus dem Forum :
Option Explicit
Private Declare

Function GetClipboardData Lib "user32" (ByVal wFormat As Long) As Long
Private Declare 

Function CloseClipboard Lib "user32" () As Long
Private Declare 

Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare 

Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As Long) As Long
Private Declare 

Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (pDst As Any, pSrc As Long, ByVal ByteLen As Long)
Private Declare 

Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Const CF_TEXT = 1
Public 

Sub Gerhard()
Dim hStrPtr As Long, lLength As Long, sBuffer As String
OpenClipboard FindWindow("XLMAIN", vbNullString)
hStrPtr = GetClipboardData(CF_TEXT)
If hStrPtr <> 0 Then
lLength = lstrlen(hStrPtr)
If lLength > 0 Then
sBuffer = Space$(lLength)
CopyMemory ByVal sBuffer, ByVal hStrPtr, lLength
End If
End If
CloseClipboard
ActiveCell.formula_
=CStr(Now) & vbLf & Application.UserName & vbLf & sBuffer
End Sub

und tut bisher genau das Gewünschte.
Nur wie lasse ich das Makro nur dann laufen, wenn der Anwender
im Menu Cells aus "Einfügen" klickte ?
Gruß
R.Schmitt
Anzeige
Die ganze Lösung
12.01.2006 13:55:36
R.Schmitt
In commandbars("Cell") habe ich jetzt einen zusätzlichen
Eintrag "Aus Word kopierten Text einfügen" generiert und
dem dann das Makro aus dem vorigen Beitrag mitgegeben.
Bei Rechtsklick mit der Maus erscheint also wie gewünscht
das entsprechende Menu um den genannten Eintrag erweitert.
Bei klick darauf wird der Text aus der Zwischenablage in den
gerade gewählten verbundenen Zellbereich eingefügt.
Mann - was´ne Zangenbegurt !!
Wenn´s jemand einfacher kann : Gerne her damit
Grüße
R.Schmitt
AW: Einfügen aus Word in verbundene Zellen
12.01.2006 14:07:35
MichaV
Hallo,
https://www.herber.de/forum/archiv/640to644/t643319.htm#643319
klappt auch für verbundene Zellen. Weiß aber nicht, obs in XL97 funzt.
Gruß- Micha
PS: sehe gerade, daß Du inzwischen eine ganze Lösung hast. Naja, hier hast Du noch eine API- freie Variante.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige