Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellenblatt in einer Arbeitsmappe austauschen

Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 19:43:18
Jonas
Hi,
ich würde gerne in einer Arbeitsmappe ein Makro haben, welches beim Aufruf einen Dialog anzeigt, _
in dem ich ein Excel-Dokument anwählen kann...
In der aktuellen Arbeitsmappe gibt es ein Tabellenblatt namens Jahr
- im zweiten Excel-Dokument gibt es ebenfalls ein Tabellenblatt Jahr.
Das Makro soll mir in der Arbeitsmappe das Blatt löschen und mit dem Blatt aus dem zweiten Excel-Dokument ersetzen...
Geht das?

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 20:01:00
Daniel
Hi
könnte so gehen, mal ganz rudimenär, ohne irgendwelche Prüfungen.

Sub test()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Jahr As String
Dim ID As Integer
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Application.GetOpenFilename)
Jahr = InputBox("Bitte Jahr eingeben")
ID = wb1.Sheets(Jahr).Index
Application.DisplayAlerts = False
wb1.Sheets(Jahr).Delete
Application.DisplayAlerts = True
Select Case ID
Case 1
wb2.Sheets(Jahr).Copy before:=wb1.Sheets(ID)
Case Else
wb2.Sheets(Jahr).Copy after:=wb1.Sheets(ID - 1)
End Select
wb2.Close
End Sub


Die Datei, von der das Blatt kopiert wird, wird während dem Makrolauf geöffnet
Gruß, Daniel

Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 20:31:00
Jonas
Sorry,
damit komm ich nicht ganz klar...
Hast Du mich vielleicht falsch verstanden?
Nur das Blatt heißt Jahr !
Gruss

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 21:00:38
Daniel
HI
ich kann nur so gut verstehen, wie du beschreibst
das Jahr ist nur ein Variablenname
in der Inputbox musst du den Blattnamen eingeben, der ausgetauscht werden soll.
es kann jeder beliebige Blattname sein, auch "Tabelle1".
das so benannte Tabellenblatt muss lediglich in beiden Dateien vorhanden sein.
Gruß, Daniel

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 21:16:11
Jonas
Sorry Daniel,
Du bist genial :-)
...ich hab nur Deine Arbeit nicht verstanden...
Noch was...
Muss das Passwort das gleiche sein wie der Blattname?
Nach dem kopieren bleibt die Haupt-Arbeitsmappe auf dem kopierten Tabellenblatt stehen...
ich müsste aber unbedingt auf eine Tabelle namens "start"...

Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 21:21:00
Daniel
Hi
mit Passwörtern hab ich nix programmiert.
du suchst nur ne Datei aus und gibst den Tabellenblattnamen ein, der ausgetauscht werden muss, mehr nicht.
Fall am einde ein bestimmtes Tabellenblatt aktiv sein muss, musst du am Ende noch diese Zeile einfügen:
Sheets("Start").select
Gruß,Daniel

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 21:31:10
Jonas

Sub kru()
Application.ScreenUpdating = False
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Jahr As String
Dim ID As Integer
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Application.GetOpenFilename)
Jahr = InputBox("rwkru")
ID = wb1.Sheets(Jahr).Index
Application.DisplayAlerts = False
wb1.Sheets(Jahr).Delete
Application.DisplayAlerts = True
Select Case ID
Case 1
wb2.Sheets(Jahr).Copy before:=wb1.Sheets(ID)
Case Else
wb2.Sheets(Jahr).Copy after:=wb1.Sheets(ID - 1)
End Select
wb2.Close
Sheets("Start").Select
Application.ScreenUpdating = True
End Sub


Hmmmm...im Ernst...
wenn ich das Makro aufrufe, muss ich "rwkru" als Passwort in eine Passwortabfrage eingeben. !?
Aber das ist schon so auch nicht schlecht.
Ein Problem habe ich aber noch, wenn ich bei der Auswahl der zweiten Tabelle doch keine Auswahl treffe und das Suchfenster mit Abbrechen verlassen will...dann bekomme ich einen VB-Fehler.
Man sagt mir, dass "Falsch.xls" nicht gefunden wurde und markiert mir folgende Zeile im Editor


Set wb2 = Workbooks.Open(Application.GetOpenFilename)


Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 21:40:00
Daniel
Hi
wie gesagt,ich hab das ganze nur mal so schnell ohne irgendwelche sicherheitsabfragen runtergeschrieben.
tausch mal dashier

Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Application.GetOpenFilename)


durch das hier aus:


dim Datei
Datei = application.getopenfilename
if not Datei then
msgbox "es wurde keine Datei ausgewählt"
exit sub
end if
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Datei)


dann bricht das Programm ab, wenn keine Datei eingegeben wurde.
das mit dem Password wird wohl daran liegen, daß du deine Datei schreib- oder lesesgeschützt hast.
lies mal in der Hilfe WORKBOOK.OPEN nach, wie man ein Password an eine zu öffnende Datei übergibt.
Gruß, Daniel

Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 22:02:25
Jonas

Sub kru()
Application.ScreenUpdating = False
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim Jahr As String
Dim ID As Integer
Dim Datei
Datei = Application.GetOpenFilename
If Not Datei Then
MsgBox "es wurde keine Datei ausgewählt"
Exit Sub
End If
Set wb1 = ThisWorkbook
Set wb2 = Workbooks.Open(Datei)
Jahr = InputBox("rwkru")
ID = wb1.Sheets(Jahr).Index
Application.DisplayAlerts = False
wb1.Sheets(Jahr).Delete
Application.DisplayAlerts = True
Select Case ID
Case 1
wb2.Sheets(Jahr).Copy before:=wb1.Sheets(ID)
Case Else
wb2.Sheets(Jahr).Copy after:=wb1.Sheets(ID - 1)
End Select
wb2.Close
Sheets("Start").Select
Application.ScreenUpdating = True
End Sub


Jetzt funktioniert zwar das Abbrechen, aber dafür das kopieren nicht mehr.
Fehlermeldung Laufzeitfehler 13 "Typen unverträglich"
?

Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 22:05:00
Daniel
Hi
Fehlermeldung an welcher stelle konket?
ggf. Beispieldatei hochladen.
Gruß, Daniel

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 22:12:39
Jonas
Userbild
Userbild

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 22:26:21
Daniel
HI
dann das hier
If Datei = "Falsch" Then
Gruß, Daniel

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 22:34:20
Jonas
Nun funktionierts!
Vielen herzlichen Dank...
Gruss,
Jonas

AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 20:08:41
Gerd
Hi Jonas,
ich denke schon. Allerdings solltest Du noch etwas spezifizieren.
ich würde gerne in einer Arbeitsmappe ein Makro haben, welches beim Aufruf einen Dialog anzeigt, _
in dem ich ein Excel-Dokument anwählen kann...
geht
In der aktuellen Arbeitsmappe gibt es ein Tabellenblatt namens Jahr
- im zweiten Excel-Dokument gibt es ebenfalls ein Tabellenblatt Jahr.
Das Makro soll mir in der Arbeitsmappe das Blatt löschen und mit dem Blatt aus dem zweiten Excel-Dokument ersetzen...
Soll das Blatt Jahr der ausgewählten zweiten Datei kopiert oder in "die Arbeitsmappe" verschoben werden ?
Gruß Gerd

Anzeige
AW: Tabellenblatt in einer Arbeitsmappe austauschen
18.11.2007 20:26:00
Jonas
Hi,
lieber wäre mir kopieren und damit das Blatt in der ersten Mappe ersetzen.
In der zweiten Excel-Tabelle werden Daten ab und an aktualisiert...
und mit diesem Vorhaben in ein größeres Projekt eingefügt werden.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige