Anzeige
Archiv - Navigation
800to804
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
800to804
800to804
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

aus Zwischenablage in Tabelle

aus Zwischenablage in Tabelle
18.09.2006 20:59:31
Wolfgang
Hallo*
mit folgendem Code, den ich mit großer Hilfe aus dem Forum in jetziger Form zusammenstellen konnte, soll erreicht werden, dass ein Text aus der Zwischenablage in ein Tabellenblatt, in diesem Fall das ausgeblendete Tabellenblatt "Auftrag" kopiert wird. In der Folge soll die Schriftfarbe schwarz sein und die Wörter auf Spalten aufgeteilt werden. Weiterhin sollen bei einer bestimmten Ziffernfolge, die in Klammern erscheint, die Klammern entfernt werden. Grundsätzlich funktioniert das auch, aber irgendwie erscheint eine Fehlermeldung. Ich mußte zwischenzeitlich leider erfahren, dass die Zwischenablage in Excel bei einer VBA-Aktion wohl geleert wird. Somit habe ich eine UF mit einer Schaltfläche eingebaut, die zunächst aufgerufen wird um dann den Text in die Zwischenablage zu kopieren, damit dann in der Folge die Aktion ausgeführt wird. Was mache ich noch verkehrt? - Wäre für jede weitere Hilfestellung sehr dankbar.
Herzliche Grüße
Wolfgang
Hier der bisherige Code:

Sub ZwA()
Sheets("Auftrag").Activate
Range("C4").Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
With ActiveCell.Characters(Start:=1, Length:=28).Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 1
End With
'Klammer oder sonstige Zeichen, Wörter entfernen
'Buchstabenfolge bzw. Wörter werden in Zellen aufgeteilt
With Worksheets("Auftrag")
Range("C4").Select
Selection.TextToColumns Destination:=Range("A7"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=" ", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
With Columns("C:C")
.Replace What:="(", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
.Replace What:=")", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
End With
End With
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus Zwischenablage in Tabelle
18.09.2006 22:48:23
Josef
Hallo Wolfgang!
Mit "Select" und "Activate" kannst du in einem ausgeblendeten Blatt nicht arbeiten.
Abgesehen davon ist es so wie so unnötig wie ein Giftkropf;-))
Pronier mal. (ungetestet)
Sub ZwA()
With Sheets("Auftrag")
With Range("C4")
  .PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
  Application.CutCopyMode = False
  
  With .Characters(Start:=1, Length:=28).Font
    .Name = "Arial"
    .FontStyle = "Standard"
    .Size = 10
    .ColorIndex = 1
    
    'Klammer oder sonstige Zeichen, Wörter entfernen
    'Buchstabenfolge bzw. Wörter werden in Zellen aufgeteilt
    .TextToColumns Destination:=.Range("A7"), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
      Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
      :=" ", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
      TrailingMinusNumbers:=True
  End With
  With .Columns("C:C")
    .Replace What:="(", Replacement:="", LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
      ReplaceFormat:=False
    .Replace What:=")", Replacement:=""
  End With
End With
End Sub


Gruß Sepp

Anzeige
AW: aus Zwischenablage in Tabelle
19.09.2006 06:35:52
Wolfgang
Hallo Josef,
auch hier recht herzlichen Dank für Deine Rückmeldung; irgendetwas klappt da leider noch nicht; Die Fehleranzeige erscheint bei "ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False "
Was müßte da aus Deiner Sicht evtl. geändert werden bzw. was mache ich falsch? Wie schon beschrieben, öffne ich zunächst die UF, kopiere dann den Text in die Zwischenablage um dann über die Schaltfläche in der UF die Zwischenablage wieder in das versteckte Tabellenblatt Auftrag einzufügen. Ist die Reihenfolge evtl. verkehrt? - Danke schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: aus Zwischenablage in Tabelle
19.09.2006 12:46:59
Josef
Hallo Wolfgang!
"irgendetwas klappt da leider noch nicht"
Ich hatte doch geschrieben, das du mit Select und Activate nicht in ausgeblendeten
Tabellen arbeiten kannst!
Hast du meinen Code probiert?
Gruß Sepp

AW: aus Zwischenablage in Tabelle
19.09.2006 15:33:32
Wolfgang
Hallo Josef,
erneut Danke für die Rückmeldung; ich habe Deinen Code ausprobiert; Es erscheint die Meldung "Laufzeitfehler 1004", die PasteSpecial-Methode des Range-Objektes konnte nicht ausgeführt werden. Ich habe den Code nur in zwei Punkten geändert - Der Bezug auf das Tabellenblatt "Aufruf" und nicht, wie versehentlich angegeben "Auftrag" und VBA forderte noch ein weiteres End With. Ich habe Deinen Code, wie ich ihn verwende noch wieder angefügt. Steht das End With nun evtl. falsch oder wäre es doch überflüssig? - Danke schon wieder jetzt für Deine Rückmeldung.
Gruß - Wolfgang
gelb unterlegte Fehlermeldung:
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False

Sub ZwA()
With Sheets("Aufruf")
With Range("C4")
.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
With .Characters(Start:=1, Length:=28).Font
.Name = "Arial"
.FontStyle = "Standard"
.Size = 10
.ColorIndex = 1
'Klammer oder sonstige Zeichen, Wörter entfernen
'Buchstabenfolge bzw. Wörter werden in Zellen aufgeteilt
.TextToColumns Destination:=.Range("A7"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:=" ", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
End With
With .Columns("C:C")
.Replace What:="(", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
.Replace What:=")", Replacement:=""
End With
End With
End With
End Sub

Anzeige
AW: aus Zwischenablage in Tabelle
19.09.2006 19:55:52
Josef
Hallo Wolfgang!
Probier mal.
Sub ZwA()
With Sheets("Aufruf")
  .Range("C4").PasteSpecial
  .PasteSpecial Format:="Text"
  Application.CutCopyMode = False
  With .Range("C4")
    With .Characters(Start:=1, Length:=28).Font
      .Name = "Arial"
      .FontStyle = "Standard"
      .Size = 10
      .ColorIndex = 1
    End With
    'Klammer oder sonstige Zeichen, Wörter entfernen
    'Buchstabenfolge bzw. Wörter werden in Zellen aufgeteilt
    .TextToColumns Destination:=.Range("A7"), DataType:=xlDelimited, _
      TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
      Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
      :=" ", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
      TrailingMinusNumbers:=True
  End With
  With .Columns("C:C")
    .Replace What:="(", Replacement:="", LookAt:=xlPart, _
      SearchOrder:=xlByRows, MatchCase:=False
    .Replace What:=")", Replacement:=""
  End With
End With
End Sub


Ich weis leider nicht wie die Daten aussehen die du einfügst, deshalb kann ich es nicht testen.
Gruß Sepp

Anzeige
AW: aus Zwischenablage in Tabelle
19.09.2006 20:15:50
Wolfgang
Hallo Josef,
erneut herzlichen Dank für Deine Rückmeldung; Es erfolgt jetzt zumindest keine Fehlermeldung mehr und die Daten werden nun in A1 der Tabelle "Aufruf" kopiert. Die Daten selbst bestehen im Regelfall aus Vorname Name und Lieferantennummer (die Nr. ist dabei in Klammern gesetzt). In der Folge sollte der Code daher bewirken, dass die Daten aufgeteilt werden und z.B. dann in A2 der Vorname, B2 der Name und C2 die Lieferantennummer eingetragen werden, vorher aber noch die Klammer entfernt wird. Irgendwie macht der Code das nun nicht mehr. Was müßte ich da evtl. noch umstellen bzw. was müßte da noch umgestellt werden? Danke schon jetzt wieder für Deine Rückmeldung.
Gruß - Wolfgang
Anzeige
AW: aus Zwischenablage in Tabelle
19.09.2006 20:48:51
Josef
Hallo Wolfgang!
Woher kommen den die Daten in der Zwischenablage?
Gruß Sepp

AW: aus Zwischenablage in Tabelle
19.09.2006 20:56:50
Wolfgang
Hallo Josef,
die Daten befinden sich meistens in einer Textdatei, teilweise auch in einer anderen Arbeitsmappe und werden markiert, um sie dann mit rechter Maustaste zu kopieren.
Gruß - Wolfgang
AW: aus Zwischenablage in Tabelle
19.09.2006 21:54:48
Josef
Hallo Wolfgang!
Noch eie Frage.
Ist das immer nur eine Zeile oder mehrere?
Gruß Sepp

AW: aus Zwischenablage in Tabelle
20.09.2006 05:46:51
Wolfgang
Hallo Josef,
sorry, dass ich gestern nicht mehr antworten konnte; Es ist immer nur eine zusammenhängende Zeile. z.B.: Elke Mustermann (123456);
Danke und Gruß - Wolfgang
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige