Wie kann ich deaktivieren Sie die Zwischenablage-Eingabeaufforderung in excel-vba, wenn ich die Arbeitsmappe schließen?
So, ich bin arbeiten mit mehreren Arbeitsmappen, aus denen ich kopiere alle Daten aus Tabelle1 jeweils in Ihren jeweiligen Platte auf dem master-Arbeitsmappe. Nachdem ich tun, ich habe mehrere Arbeitsmappen codiert zu schließen. Jedoch, eine lästige Eingabeaufforderung gefragt, ob ich will, dass die kopierten Daten auf der Zwischenablage konsequent erscheint und ich wollen entweder haben Sie es nicht pop-up oder wenn Sie es tut, ich will "Keine" werden automatisch gewählt.
Ich weiß, es gibt eine ähnliche Frage gefragt worden, aber es hat nicht für mich gearbeitet und ich denke, es ist weil ich habe einen rechteckigen Bereich von Daten, anstatt nur eine Spalte? Ich wirklich neu in vba, aber ich versuchte Herumspielen mit dem code in Deaktivieren Sie die Zwischenablage-Eingabeaufforderung in Excel-VBA auf die Arbeitsmappe schließen aber ich hatte kein Glück.
Hier mein original-code:
Sub CFM56copydata()
Dim wbk As Workbook
'The workbook is opened using the text from a textbox in a userform i.e:
strFirstFile = Userform1.dog.Text
Set wbk = Workbooks.Open(strFirstFile)
With wbk.Sheets("Sheet1")
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
End With
Set wbk2 = ThisWorkbook
wbk2.Sheets("dog").Range("A1").Insert
wbk.Close
End Sub
und hier ist, wie ich versucht, um es zu optimieren, so vermied ich mit dem clipbaord überhaupt. (Hat nicht funktioniert, gibt mir ein debug-Fehler auf Zeile 12)
Sub fix()
Dim wbk As Workbook
strFirstFile = Userform1.CFM56path.Text
Set wbk = Workbooks.Open(strFirstFile)
Set wbk2 = ThisWorkbook
Dim rSrc As Range
Dim rDst As Range
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Set rSrc = Selection
Set rDst = wbk2.Sheets("dog").Cells("A1").Resize(rSrc.Rows.Count, rSrc.Columns.Count)
rDst = rSrc
wbk.Close
End Sub
InformationsquelleAutor SRoy | 2014-01-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Zwischenablage prompt ist das problem, nur leere, nachdem das geschehen einfügen.
Froh, dass es bei Ihnen funktioniert hat, können Sie es markieren als angenommen? Dank
Um klar zu sein, bedeutet dies nicht, leeren Sie die Zwischenablage. Es entfernt nur die "tanzenden Ameisen" um den kopierten Bereich. Wenn Sie genug Daten haben, können Sie immer noch die Meldung.
InformationsquelleAutor ron
Sollte es funktionieren, wenn Sie Ihre
wbk.Close
Anweisung:InformationsquelleAutor Netloh