PDA

Vollständige Version anzeigen : Importieren von Daten bei Öffnen der Tabelle


Stibizi
02.07.2014, 11:02
Hallo alle zusammen,

ich finde einfach den Fehler nicht in meinem code.
Ich habe eine Tabelle, in der die einzelnen sheets mit Daten gefüllt werden sollen, sobald die Tabelle geöffnet wird.

mein Code für die Befüllung bzw. den Immport der Daten für ein Sheet mit dem Namen "Daten TD-440" sieht folgendermaßen aus. Die Daten dafür sollen aus dem Sheet "TD-440 (1)" kommen



Private Sub Workbook_Open()
Workbooks.Open ("E:\Excel-Tool_Peterhänsel\Kopie Arbeitsblätter TD-44x\TD-440_Kopie von WSR one pager_Version DH.xlsm")
Sheets("TD-440 (1)").Select
Range("Z5:AI31").Select
Selection.Copy
Windows("Kopie von WSR one pager_Version DH.xlsm").Activate
Sheets("Daten TD-440").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub


Als Fehlerquelle gibt mir excel die Zeile

Sheets("TD-440 (1)").Select

an. Ich weis aber leider nicht was daran falsch sein soll. Könnt ihr mir bitte helfen?

Hajo_Zi
02.07.2014, 11:07
die Tabelle "TD-440 (1)" gibt es nicht.

Select, Activate usw. ist in VBA zu 99,9% nicht notwendig.
Der Cursor ist kein Hund der überall rumgeführt werden muss.
<a href="http://hajo-excel.de/select.htm" title="Hinweise zu select usw." >Hinweise zu select usw. Hajo-Excel.de</a>
<a href="http://www.online-excel.de/excel/singsel_vba.php?f=61." >Hinweise zu select usw. Online-Excel.de</a>

<img src="http://Hajo-Excel.de/images/grusz1.gif" align="middle" height="40" alt="Grußformel"><a href="http://Hajo-Excel.de/index.htm"><img border="0" src="http://Hajo-Excel.de/images/logo_hajo3.gif" align="middle" height="40" alt="Homepage"></a>

EarlFred
02.07.2014, 11:08
Hallo namenloser,

Option Explicit
Private Sub Workbook_Open()

Dim wb As Workbook
'Quellmappe öffnen und der Variable wb zuweisen
Set wb = Workbooks.Open("E:\Excel-Tool_Peterhänsel\Kopie Arbeitsblätter TD-44x\TD-440_Kopie von WSR one pager_Version DH.xlsm")

'Kopieren des Bereichs aus der Mappe "wb"
wb.Worksheets("TD-440 (1)").Range("Z5:AI31").Copy

'Einfügen als Werte in diese Mappe
Me.Worksheets("Daten TD-440").Range("A1").PasteSpecial _
Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False

wb.Close savechanges:=False 'oder true?
Set wb = Nothing
End Sub

Grüße
EarlFred

Stibizi
02.07.2014, 12:39
Das Makro funktioniert!! Vielen Dank!!

Ein kleines Problem habe ich noch.

Ich bekomm die meldung

"Es befindet sich eine große Menge von Informationen in der Zwischenablage. Wollen Sie diese Informationen später in andere Programme einfügen?"

Wie kann ich im Makro umsetzen, dass bei dieser Information automatisch "nein" angeklickt/ausgewählt wird.

Stibizi
02.07.2014, 12:44
Habs gelöst. Google hilft manchmal weiter :)

Hajo_Zi
02.07.2014, 12:46
Danke dafür das Du die Lösung mitgeteilt hast. Dazu sind ja Foren da.

<a href="http://Hajo-Excel.de/index.htm" target="_blank" title="Hajo's Excelseiten">Gruß Hajo</a>

EarlFred
02.07.2014, 12:47
Hallo Name,

Habs gelöst
das ist schön für Dich, aber schlecht für andere mit einem ähnlichen Problem, da sie nicht wissen, WIE. Ein Forum ist keine Wissenseinbahnstraße, auch Du darfst anderen helfen, indem Du Lösungen postest!

Ich vermute, Du hast es so gelöst:
...
Me.Worksheets("Daten TD-440").Range("A1").PasteSpecial _
Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False

Application.CutCopyMode = False
wb.Close savechanges:=False 'oder true?
...

Grüße
EarlFred