Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Arbeitsblatt mit VB kopieren

Arbeitsblatt mit VB kopieren
max
Hay Excel Experten,
ich verzweifle. Ich komme einfach nicht auf die Lösung und habe mich nun schon Tage durchs Internet getrollt und versucht mit meinem bescheidenen VBA Wissen was zu reißen. Ihr seid meine letzte Hoffnung.
Ich habe 1 Arbeitsmappe (Excel Datei1). In dieser wird über eine Userform eine Abfrage gestartet über welche ich 2 Informationen bekomme:
1 ExcelDateinamen(Excel Datei2) & den Pfad zu dieser.
Nun möchte ich "einfach" in dieser Excel Datei(Excel Datei2) die Arbeitsmappe: Tabelle1 in meine vorhandene ExcelDatei(Excel Datei1) importieren.
Ich schaffe das leider nicht.
Habe hier schon 2 Lösungen rausgesucht wo ich denke das sie klappen sollten aber mir fehlt das KnowHow um den Code zu verstehen:
Code1:
StandardModule: Modul1

Sub TabImport()
Dim wkb As Workbook
Dim sFile As String
Application.ScreenUpdating = False
sFile = Range("B1").Value
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!"
Exit Sub
End If
On Error GoTo ERRORHANDLER
Application.EnableEvents = False
Set wkb = Workbooks.Open(sFile, False)
With ThisWorkbook
Worksheets(1).Copy after:=.Worksheets(.Worksheets.Count)
End With
wkb.Close savechanges:=False
ERRORHANDLER:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


Code2:


Sub Eintragen()
Dim sTxt As String
Dim rng As Range, rngCell As Range
sTxt = "'" & Range("B1").Value
sTxt = sTxt & "[" & Range("B2").Value & "]"
sTxt = sTxt & Range("B3").Value & "'!" sTxt = sTxt & Range("B4").Value
Set rng = Worksheets("Ziel").Range(Range("B4").Value)
rng.Cells(1).Formula = "=if(" & sTxt & "="""",""""," & sTxt & ")"
rng.Cells(1).Copy rng
rng.Value = rng.Value
rng.Columns.AutoFit
rng.Parent.Select
End Sub


Ich hoffe ihr könnt damit merh Anfangen als ich.
Bin euch für eure Hilfe merh als Dankbar.
Alles Gute Gruß max

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arbeitsblatt mit VB kopieren
04.06.2007 12:21:00
Jan3
Hi,
Den Code 1 kannst Du für Dein Problem anpassen. Dazu brauch man aber den Code der UserForm!
Jan

AW: Arbeitsblatt mit VB kopieren
max
Hay Jan,
vielen Dank für deine Hilfe. Hier ist der Code der Userform. Dieser wird ausgeführt wenn ein Button gedrückt wird (bzw. ein Bild).

Private Sub Image3_Click()
Dim strIN1 As String
Dim strIN2 As String
Dim strIN3 As String
Dim strOUT2 As String
Dim Pfad1 As String
Dim strOUT As String
Dim vFile As Variant
Dim iRow As Integer
Dim sPath As String, sFormula As String, sMem As String, sRange As String
strIN1 = Me.ComboBox1.Text
strIN2 = Me.ComboBox2.Text
strIN3 = Me.ComboBox3.Text
If strIN2 = "Januar" Then
strOUT2 = "01"
End If
If strIN2 = "Februar" Then
strOUT2 = "02"
End If
If strIN2 = "März" Then
strOUT2 = "03"
End If
If strIN2 = "April" Then
strOUT2 = "04"
End If
If strIN2 = "Mai" Then
strOUT2 = "05"
End If
If strIN2 = "Juni" Then
strOUT2 = "06"
End If
If strIN2 = "Juli" Then
strOUT2 = "07"
End If
If strIN2 = "August" Then
strOUT2 = "08"
End If
If strIN2 = "September" Then
strOUT2 = "09"
End If
If strIN2 = "Oktober" Then
strOUT2 = "10"
End If
If strIN2 = "November" Then
strOUT2 = "11"
End If
If strIN2 = "Dezember" Then
strOUT2 = "12"
End If
strOUT = strIN1 + strIN3 + strOUT2 + "PRJSTATUS.xls"
If strIN1 = "PCEN" Then
Pfad1 = "I:\Projekte\03_Administration\PrjCon_PC_EN\PrjStatus_PC_EN"
End If
If strIN1 = "PCSE" Then
Pfad1 = "\\ndt-fs\PC-SE\Projekte\03_Administration\PrjCon_PC_SE\PrjStatus_PC_SE"
End If
If strIN1 = "PCSY" Then
Pfad1 = "\\ndt-fs\PC-SY\Projekte\03_Administration\PrjCon_PC_SY\PrjStatus_PC_SY"
End If
MsgBox strOUT
MsgBox Pfad1
End Sub



Private Sub UserForm_Initialize()
Me.ComboBox1.AddItem "PCEN"
Me.ComboBox1.AddItem "PCSE"
Me.ComboBox1.AddItem "PCSY"
Me.ComboBox2.AddItem "Januar"
Me.ComboBox2.AddItem "Februar"
Me.ComboBox2.AddItem "März"
Me.ComboBox2.AddItem "April"
Me.ComboBox2.AddItem "Mai"
Me.ComboBox2.AddItem "Juni"
Me.ComboBox2.AddItem "Juli"
Me.ComboBox2.AddItem "August"
Me.ComboBox2.AddItem "September"
Me.ComboBox2.AddItem "Oktober"
Me.ComboBox2.AddItem "November"
Me.ComboBox2.AddItem "Dezember"
Me.ComboBox3.AddItem "2006"
Me.ComboBox3.AddItem "2007"
Me.ComboBox3.AddItem "2008"
Me.ComboBox3.AddItem "2009"
Me.ComboBox3.AddItem "2010"
End Sub


Nochmals Danke
lieben gruß max

Anzeige
AW: Arbeitsblatt mit VB kopieren
04.06.2007 15:37:20
Rudi
Hallo,
mit ein paar Änderungen:

Private Sub Image3_Click()
Dim strIN1 As String
Dim strIN2 As String
Dim strIN3 As String
Dim strOUT2 As String
Dim Pfad1 As String
Dim strOUT As String
Dim vFile As Variant
Dim iRow As Integer
Dim sPath As String, sFormula As String, sMem As String, sRange As String
Dim wkbImport As Workbook
strIN1 = Me.ComboBox1.Text
strIN2 = Me.ComboBox2.Text
strIN3 = Me.ComboBox3.Text
strOUT2 = Format(CDate("1." & strIN2), "MM")
strOUT = strIN1 + strIN3 + strOUT2 + "PRJSTATUS.xls"
Select Case strIN1
Case "PCEN": Pfad1 = "I:\Projekte\03_Administration\PrjCon_PC_EN\PrjStatus_PC_EN"
Case "PCSE": Pfad1 = "\\ndt-fs\PC-SE\Projekte\03_Administration\PrjCon_PC_SE\ _
PrjStatus_PC_SE"
Case "PCSY": Pfad1 = "\\ndt-fs\PC-SY\Projekte\03_Administration\PrjCon_PC_SY\ _
PrjStatus_PC_SY"
End Select
Set wkbImport = Workbooks.Open(Pfad1 & "\test.xls")   'anpassen
wkbImport.Sheets("Tabelle1").Copy before:=ThisWorkbook.Sheets(1)
wkbImport.Close False
Set wkbImport = Nothing
'MsgBox strOUT
'MsgBox Pfad1
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Arbeitsblatt mit VB kopieren
max
Wooooooooooooooohoooooooo!
Es klappt Danke Rudi!
Du bist der Hammer.
*tanz
Vielen Dank auch dir Jan.
Wünsch euch noch n schönen Wochenanfang & alles gute
Gruß max :)
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige