So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an Tronic.

Tronic
Tronic, IT-Specialist
Kategorie: Computer
Zufriedene Kunden: 2269
Erfahrung:  Elektroniker und EDV-Service
31581453
Geben Sie Ihre Frage in der Kategorie Computer hier ein
Tronic ist jetzt online.

Beim Arbeiten mit Copy-Paste-Makros in andere Excel-Instanzen

Kundenfrage

Beim Arbeiten mit Copy-Paste-Makros in andere Excel-Instanzen kommt es häufig vor, dass die Zwischenablage noch leer ist, wenn das "Paste" erfolgen soll.

Gibts für dieses Problem eine bessere Lösung als der folgende Behelfscode:

'Copy/Paste so lange wiederholen, bis die erste Zelle den selben Wert enthält und mit dem selben Farbindex formatiert ist

While oExcel.Selection.Range("A1").Value Range(MeinBereich).Range("A1").Value _
Or oExcel.Selection.Range("A1").Interior.ColorIndex Range(MeinBereich).Range("A1").Interior.ColorIndex
Application.Wait Now() + TimeValue("00:00:01")
Range(MeinBereich).Copy
On Error Resume Next
oExcel.ActiveSheet.Paste
Wend

Siehe dazu auch: http://www.office-loesung.de/ftopic483222_0_0_asc.php
Gepostet: vor 5 Jahren.
Kategorie: Computer
Kunde: hat geantwortet vor 5 Jahren.
Erneut posten: Ich benötige immer noch Hilfe.
Experte:  tringler hat geantwortet vor 5 Jahren.
Sehr geehrter Fragesteller,

könnten Sie mir den Einsatzzweck ein wenig genauer erläutern oder/und mir eine Excelmappe mit dem Makro [email protected] senden?

Mit freundlichen Grüßen, Thomas Ringler
Kunde: hat geantwortet vor 5 Jahren.

Sehr geehrter Herr Ringler

 

Es geht um Copy-Paste ganz allgemein: Eine Steuerungsdatei öffnet eine Masterdatei, diese Datei macht eine Abfrage (z. B. Daten abfragen aus einem BusinessWarehouse) und dann wird das Ergebnis dieser Abfrage in eine neue Arbeitsmappe einer neuen Instanz kopiert.

 

Da es sich um xlsm-Dateien im neuen Office handelt, schicke ich Ihnen die beiden Dateien Steuerung und Master mit separatem E-Mail.

 

Freundliche Grüsse

Matthäus Blöchliger

Experte:  tringler hat geantwortet vor 5 Jahren.

Sehr geehrter Herr Blöchlinger,

welche Excel-Version verwenden Sie denn? Entweder stell ich mich grade etwas blöd an, aber dieser Code sollte doch lt. Ihrer Aussage nicht so wirklich funktionieren oder?

Unter Excel 2010 kann ich ihr Problem nicht nachstellen. Ich würde Ihnen prinzipiell empfehlen mit C# XXXXX arbeiten.

Viele Grüße, Thomas Ringler

'----------------------------------------------------------'

' Testbeispiel JustAnswer 2011-12-06 '

'----------------------------------------------------------'

Public Const MstPfd = 0, MstNme = MstPfd + 1, MstDgr = MstNme + 1, ExlPfd = MstDgr + 1, ExlNme = ExlPfd + 1, ExlSht = ExlNme + 1, ExlTle = ExlSht + 1

Option Explicit

Sub Make()

Dim oExcel As Object

Dim ColAry() As Object

Dim AryIdx As Integer

Dim PasteErrorCounter As Byte

Dim ActJhr As Integer, ActPde As Integer

PasteErrorCounter = 0

[A6].Select

ReDim ColAry(0)

Set ColAry(0) = ActiveCell.Offset(0, MstPfd)

For AryIdx = 1 To ExlTle

ReDim Preserve ColAry(UBound(ColAry) + 1)

Set ColAry(UBound(ColAry)) = ActiveCell.Offset(0, AryIdx)

Next

Set oExcel = CreateObject("Excel.Application")

oExcel.Visible = True

oExcel.Workbooks.Add

oExcel.ActiveCell = ColAry(ExlTle).Value

oExcel.ActiveCell.Font.Size = 12

oExcel.ActiveCell.Font.Bold = True

oExcel.ActiveCell.Offset(2, 0).Select

ActJhr = [Jhr]

ActPde = [Pde]

Application.Workbooks.Open ColAry(MstPfd) & "\" & ColAry(MstNme)

[Jhr].Value = ActJhr

[Pde].Value = ActPde

Range(Left(ColAry(MstDgr), InStr(ColAry(MstDgr), ",") - 1)).Copy

oExcel.ActiveSheet.Paste

oExcel.ActiveCell.Offset(oExcel.Selection.Rows.Count, 1 - oExcel.Selection.Range("A1").Column).Select

Range(Right(ColAry(MstDgr), Len(ColAry(MstDgr)) - InStr(ColAry(MstDgr), ","))).Copy

oExcel.ActiveSheet.Paste

Application.CutCopyMode = False

oExcel.Selection.Borders(xlEdgeLeft).ColorIndex = Range(Right(ColAry(MstDgr), Len(ColAry(MstDgr)) - InStr(ColAry(MstDgr), ","))).Borders(xlEdgeLeft).ColorIndex

oExcel.Selection.Borders(xlEdgeTop).ColorIndex = Range(Right(ColAry(MstDgr), Len(ColAry(MstDgr)) - InStr(ColAry(MstDgr), ","))).Borders(xlEdgeTop).ColorIndex

oExcel.Selection.Borders(xlEdgeBottom).ColorIndex = Range(Right(ColAry(MstDgr), Len(ColAry(MstDgr)) - InStr(ColAry(MstDgr), ","))).Borders(xlEdgeBottom).ColorIndex

oExcel.Selection.Borders(xlEdgeRight).ColorIndex = Range(Right(ColAry(MstDgr), Len(ColAry(MstDgr)) - InStr(ColAry(MstDgr), ","))).Borders(xlEdgeRight).ColorIndex

oExcel.ActiveCell.Offset(oExcel.Selection.Rows.Count + 1, 1 - oExcel.Selection.Range("A1").Column).Select

oExcel.Cells.Font.Name = "Arial"

oExcel.ActiveWindow.DisplayGridlines = False

oExcel.ActiveWorkbook.SaveAs Filename:=ColAry(ExlPfd) & "\" & ColAry(ExlNme)

Set oExcel = Nothing

ActiveWorkbook.Close

[E1].Value = PasteErrorCounter

End Sub

Kunde: hat geantwortet vor 5 Jahren.

Hallo Herr Ringler

 

Vielen Dank für die prompte Antwort.

 

Excel 2010 auf Windows 7. Mein geposteter Code ist ein schlechter Workaround für das Copy-Paste-Problem im neuen Office (siehe dazu auch http://www.office-loesung.de/ftopic483222_0_0_asc.php). Bei jedem etwa 100. Paste kommt die Formatierung nicht mit und vielleicht bei jedem 1000. Paste ist die Zwischenablage noch leer. Das lässt sich schlecht nachstellen. Das Problem kann vielleicht auch an einer Windows-Einstellung liegen.

 

Ich hab mal einen Loop mit 100 Durchläufen eingerichtet und für einen Make-Aufruf vier Paste-Fehlversuche erhalten. Bei einem nächsten Aufruf waren es drei Fehlversuche. Ich schicke Ihnen die geänderte Datei Steuerung nochmals mit separatem Mail zu.

 

Die ganze Datei Steuerung ist ausgelegt für Standard-Reports von aktuell ca. 200'000 A4-Seiten jährlich. Diesen ganzen Code mit den darin enthaltenen ODBC-Abfragen aus Oracle, aus SAP-BusinessWarehouse, aus Access und aus Excel sowie den Office-Fernsteuerungen ins Excel, Word und PowerPoint kann ich nicht so einfach ins C# übersetzen.

 

Beste Grüsse

Matthäus Blöchliger

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
< Zurück | Weiter >
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
  • Endlich ein Experte, der mir wirklich weiterhelfen konnte! DANKE! JustAnswer Kunde Taunusstein
  • Ihre Antwort hat mir sehr geholfen, die richtigen Entscheidungen zu treffen. Dass Sie mir darüber hinaus noch 2 Empfehlungen gegeben haben fand ich super. Vielen Dank! JustAnswer Kunde Freiburg
  • Die ausgearbeiteten Hilfen waren gut strukturiert, leicht verständlich und zu 100% hilfreich für mich. Vielen Dank Markus B. Karlsruhe
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/PY/Pyroflash/2011-4-21_104934_tronic.64x64.jpg Avatar von Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
  • http://ww2.justanswer.com/uploads/rufushoschi/2010-11-08_135947_bild.jpg Avatar von IT-Fachinformatiker

    IT-Fachinformatiker

    Systemadministrator

    Zufriedene Kunden:

    6338
    Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
  • http://ww2.justanswer.com/uploads/COMINAROSA/2010-02-03_172238_PASSBILD.JPG Avatar von COMIN IT-Service

    COMIN IT-Service

    Dipl.-Ing.

    Zufriedene Kunden:

    779
    Dipl.Ing (FH) ET, NT, IT
  • http://ww2.justanswer.com/uploads/RaubergerConcep/2010-03-02_102740_Portraet64.jpg Avatar von RaubergerConcept

    RaubergerConcept

    IT-Specialist

    Zufriedene Kunden:

    234
    Mehr als 10 Jahre Erfahrung in Softwareentwicklung und Netzwerktechnik
  • http://ww2.justanswer.com/uploads/LF/lfalkenburg/2015-2-8_01843_.64x64.jpg Avatar von Lutz Falkenburg

    Lutz Falkenburg

    IT-Specialist

    Zufriedene Kunden:

    96
    Seit über 20 Jahren beruflich im IT-/IUK-Bereich tätig. Egal ob EinzelPC der Netzwerk...
  • http://ww2.justanswer.com/uploads/BI/BigDaddyXD/2012-10-24_20126_WhySoSeriousJob.64x64.jpg Avatar von BigDaddyXD

    BigDaddyXD

    Informatiker

    Zufriedene Kunden:

    1588
    Microsoft Certified Professional, Microsoft Certified Desktop Support Technican,...
  • http://ww2.justanswer.com/uploads/PU/Pucky80/2011-5-14_54537_pucky80.64x64.jpg Avatar von Pucky80

    Pucky80

    IT-Systemkaufmann

    Zufriedene Kunden:

    1322
    MCITP (Microsoft Server 2008 Enterprise Administrator)
 
 
 

Ähnliche Fragen in der Kategorie Computer