Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Öffnen von Dateien und aktivieren von Tabellen...

Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 09:50:19
Daniel G
Hi zusammen,
ich hätte da mal wieder ein Problem.
Ich versuche per Makro ne Datei zu öffnen und dann aus deren Tabelle1 Daten zu kopieren.
Nun bekomme ich aber für die vorletzte ( nicht bei mir die vorletzte) Zeile die Meldung, dass die SELECT-Methode des RANGE-Objekts fehlschlug.
Ging bissher einwandfrei, bis ich Zeile 2-3 eingefügt habe. Wie mache ich das nach dem Öffnen einer Datei?
Private Sub Cmd1_Click()
Workbooks.Open FileName:="c:\eigene dateien\testmappeentw~1.xls" ??????
Sheets("Tabelle1").Activate ????brauche ich das???????
Dim z As Integer
Dim x As Integer
'Ändern der Beschriftung

Cmd1.Caption = " Zeilenweises Ändern"


' Zeilenweises Ändern der Eigenschaften uns des Inhaltes per "Do...Loop Schleife"

x = 1

Do
'Tabelle 1 wird aktiviert und die Zeilen in Abhängigkeit von x gewählt

ActiveWorkbook.Worksheets("tabelle1").Select
Tabelle1.Range(Tabelle1.Cells(x, 1), Tabelle1.Cells(x, 17)).Select ??????
Selection.Copy
Vorab schon mal Danke für eure Hilfe
Gruss Daniel

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:01:21
Ólli
Hallo Daniel,
m. E. ist Deine zweitletzte Zeile falsch. Statt Tabelle1.Range(Tabelle1.Cells(x, 1), Tabelle1.Cells(x, 17)).Versuch mal Range ohne vorangestellt Tabelle1.

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:09:17
Daniel G
Hallo Olli,
danke für die Antwort, aber das geht auch nicht. ich krieg da immernoch gleiche die Meldung.
Irgendwie muss es daran liegen,dass er mir die geöffnete Datei nicht aktiviert. Wie gesagt in der gleichen Datei geht''s ohne Probs, aber jetzt, da ich die andere geöffnet habe, is Feierabend....
Gruss Daniel

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:26:09
Megatron (Jens)
Hallo Daniel,
probiers mal nicht mit der Dos-Schreibweise:
testmappeentw~1.xls
sondern ausschreiben wie im Explorer (ich vermute zumindest, dass die Datei nicht so heißt).
also z.B. testmappeentwicklung.xls
Gruß
Jens

Anzeige
AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:51:52
Daniel G
Hi Jens,
ich hab die wirklich so genannt, so unblaublich sich das auch anhört.
Aber das ist nicht das Problem.
Die Datei wird geöffnet, ich krieg ne Anfrage, ob ich die Daten aktualisieren will und Sie macht keine Zicken. So weit so gut.
Ich scheitere bei der Auswahl der Zellen in Tabelle1. Wie gesagt, Zeile 2-3 machen mir keine Probs, jedoch die folgende Auswahl des Zellbereichs.
Ich krieg eben immer die Fehlermeldung, dass die Select-Methode des Range-Objekts fehlerhaft sei.
Wie eben schon erwähnt, denke ich, dass ich die eben geöffnete Datei nicht als aktiv vorliegen habe und deshalb natürlich auch keine auswahl treffen kann.
Und vor der Öffnung der Datei ging alles einwandfrei. Sprich Bearbeitung in der gleichen Datei is kein Thema. Tabelle1 wird gewählt und die Values sowie Formate un Tab2 übertragen...
Gruss Daniel


Anzeige
AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:58:39
Daniel G
Hab's auch schon mit 'Workbooks/"testmappeentw~1.xls").activate' versucht.
Geht auch nicht.

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 10:59:32
Daniel G
Ich mein natürlich:
Workbooks("testmappeentw~1.XLS").Activate

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 11:14:52
Megatron (Jens)
Vom Prinzip her meinst Du es doch so, oder?

Sub t()
Workbooks.Open FileName:="c:\test.xls"
Sheets("Tabelle1").Activate
Dim z As Integer
Dim x As Integer
Sheets("tabelle1").Select
Range("A1:Q1").Select
Selection.Copy
End Sub

Habe mir erlaubt die Schleife, die so eh keinen Sinn ergibt rauszunehmen (wo ist der Rest vom Code?).
Gruß
Jens

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 11:29:03
Daniel G
Genau so mein ich das.
hier mal der ganze Code(aber vorsicht: Hitverdächtiges Gepfusche...)
Code:
Option Explicit

Private Sub Cmd1_Click()
Workbooks.Open FileName:="c:\eigene dateien\testmappeentw~1.xls"
End Sub


Private Sub CommandButton1_Click()
Dim z As Integer
Dim x As Integer
'Ändern der Beschriftung
CommandButton1.Caption = " Zeilenweises Ändern"
' Zeilenweises Ändern der Eigenschaften uns des Inhaltes per "Do...Loop Schleife"
x = 1
Do
'Tabelle 1 wird aktiviert und die Zeilen in Abhängigkeit von x gewählt
Sheets("Tabelle1").Select
Range(Cells(x, 1), Cells(x, 17)).Select
Selection.Copy
'Tabelle 2 wird aktiviert und die Zeilen, nummeriert in Abhängigkeit von x,
'mit den Formaten der entsprechenden Zellen aus Tabelle 1 formatiert
Sheets("tabelle2").Select
Tabelle2.Range(Tabelle2.Cells(x, 1), Tabelle2.Cells(x, 17)).Select
Selection.PasteSpecial Paste:=xlFormats
'Tabelle 1 wird aktiviert und die Zeilen in Abhängigkeit von x gewählt
Sheets("tabelle1").Select
Tabelle1.Range(Tabelle1.Cells(x, 1), Tabelle1.Cells(x, 17)).Select
Selection.Copy
'Tabelle 2 wird aktiviert und die Zeilen, nummeriert in Abhängigkeit von x,
'mit den Werten der entsprechenden Zellen aus Tabelle 1 gefüllt
Sheets("tabelle2").Select
Tabelle2.Range(Tabelle2.Cells(x, 1), Tabelle2.Cells(x, 17)).Select
Selection.PasteSpecial Paste:=xlValues
'Tabelle2 ist aktiv und Ihr werden fixe Spaltenbreiten zugewiesen
Sheets("Tabelle2").Range("A1").ColumnWidth = 7.43
Sheets("Tabelle2").Range("B1").ColumnWidth = 52.71
Sheets("Tabelle2").Range("C1").ColumnWidth = 19
Sheets("Tabelle2").Range("D1").ColumnWidth = 17.29
Sheets("Tabelle2").Range("E1").ColumnWidth = 20.71
Sheets("Tabelle2").Range("F1").ColumnWidth = 16.86
Sheets("Tabelle2").Range("G1").ColumnWidth = 35.14
Sheets("Tabelle2").Range("H1").ColumnWidth = 15.57
Sheets("Tabelle2").Range("I1").ColumnWidth = 14.29
Sheets("Tabelle2").Range("J1").ColumnWidth = 20.29
Sheets("Tabelle2").Range("K1").ColumnWidth = 19
Sheets("Tabelle2").Range("L1").ColumnWidth = 16.57
Sheets("Tabelle2").Range("M1").ColumnWidth = 18.86
Sheets("Tabelle2").Range("N1").ColumnWidth = 19
Sheets("Tabelle2").Range("O1").ColumnWidth = 19
Sheets("Tabelle2").Range("P1").ColumnWidth = 30.14
Sheets("Tabelle2").Range("Q1").ColumnWidth = 26
'Tabelle2 ist aktiv.
'Es werden den zu bearbeitenden Zellen
'Schriftgrösse, -art, -farbe, -ausrichtung zugewiesen
Tabelle2.Range(Tabelle2.Cells(x, 1), Tabelle2.Cells(x, 17)).Select
With Selection.Cells.Font
.Name = "Arial"
.Size = 8
.ColorIndex = 1
End With
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
End With
' Alle Zeilen werden im Durchlauf, in Abhängigkeit von x, in der Breite optimiert
Columns("A:Q").EntireColumn.AutoFit
' Alle Zeilen werden im Durchlauf, in Abhängigkeit von x, in der Grösse ptimiert
Worksheets("Tabelle1").Range("Ax:Qx").Rows.AutoFit
'Wiederholung...
x = x + 1
Loop Until Tabelle1.Cells(x, 1) = ""
'Hyperlinks bzw. Formate vergleichen und Übernehmen
On Error Resume Next
Dim WS1     As Worksheet
Dim WS2     As Worksheet
Dim WS3     As Worksheet
Dim Suche   As String
Dim find    As Variant
Dim I       As Integer
Set WS1 = Worksheets("Tabelle1")
Set WS2 = Worksheets("Tabelle2")
Set WS3 = Worksheets("Tabelle3")
For I = 1 To 500   'Anzahl der Zeilen
Suche = WS2.Cells(I, 1) 'Suchbegriff aus Tabelle 2 / Spalte A
Set find = WS1.Range("A:A").find(Suche, LookIn:=xlValues) ' In Tabelle 1 / Spalte a suchen
WS2.Rows(find.Row).Format = WS1.Rows(I).Format ' wenn gefunden komplette Zeile von Tabelle 1 nach Tabelle 2 kopieren
Next I
End Sub

Hab da noch ein wenig Probs mit, geht aber eigentlich recht gut...
Is halt zusammen geflickt...
Gruss Daniel

Anzeige
AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 11:36:00
Daniel G
Da war der Mund wieder schneller, als das Gehirn...
Ich krieg da den gleichen Fehler.
Select-Methode des Range-Objekts.....
Gruss Daniel

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 11:44:45
Megatron (Jens)
Hallo Daniel,
probier mal den Befehl:
Windows("Deine Datei").Activate
als Alternative und steuere die beiden Dateien dann darüber an.
Viel Spass beim Basteln.
Gruß
Jens

AW: Öffnen von Dateien und aktivieren von Tabellen...
21.08.2003 11:14:12
Daniel G
Ich habb's nun in soweit geändert:
Option Explicit

Private Sub Cmd1_Click()
Workbooks.Open FileName:="c:\eigene dateien\testmappeentw~1.xls"
End Sub


Private Sub CommandButton1_Click()
Dim z As Integer
Dim x As Integer
'Ändern der Beschriftung
CommandButton1.Caption = " Zeilenweises Ändern"
' Zeilenweises Ändern der Eigenschaften uns des Inhaltes per "Do...Loop Schleife"
x = 1
Do
'Tabelle 1 wird aktiviert und die Zeilen in Abhängigkeit von x gewählt
Sheets("Tabelle1").Select
Range(Cells(x, 1), Cells(x, 17)).Select
Selection.Copy
'Tabelle 2 wird aktiviert und die Zeilen, nummeriert in Abhängigkeit von x,
'mit den Formaten der entsprechenden Zellen aus Tabelle 1 formatiert
Sheets("tabelle2").Select
Tabelle2.Range(Tabelle2.Cells(x, 1), Tabelle2.Cells(x, 17)).Select
Selection.PasteSpecial Paste:=xlFormats
'Tabelle 1 wird aktiviert und die Zeilen in Abhängigkeit von x gewählt
Sheets("tabelle1").Select
Tabelle1.Range(Tabelle1.Cells(x, 1), Tabelle1.Cells(x, 17)).Select
Selection.Copy
'Tabelle 2 wird aktiviert und die Zeilen, nummeriert in Abhängigkeit von x,
'mit den Werten der entsprechenden Zellen aus Tabelle 1 gefüllt
Sheets("tabelle2").Select
Tabelle2.Range(Tabelle2.Cells(x, 1), Tabelle2.Cells(x, 17)).Select
Selection.PasteSpecial Paste:=xlValues
Nun geht dat erst mal.
Er übernimmt mir zwar nicht die Daten aus TestmappeEntw~1.xls, aber nun wenigstens aus Tabelle 1 der aktiven Mappe.
Ich hab eben mal nen 2. Button eingefügt.
Eigentlich will ich aber, dass es in einem Aufwasch funktioniert und die Daten aus Tabelle1 der Testmappe kommen...
Wenigstens krieg ich jetzt keinen Fehler mehr.
Güsse Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige