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

Fehler im Code?

Fehler im Code?
04.01.2003 18:05:41
majdi
Hi,
Erstmal allen ein schönes 2003.
Kann mir jemand sagen,was bei diesem code nicht stimmt?
Wenn ich bei der Abfrage der TQ-Inputbox die Default-Einstellung wähle klappts.Tippe ich jedoch z.b. Mai ein,gibt mir
VBA folgende Fehlermeldung :Index außerhalb des gültigen Bereiches.
Sub Datenimport()
Dim Pfad As String
Dim Quelle As String
Dim TQ As String
Dim Ziel As String
Dim ZielD As Workbook
Dim ZielT As Worksheet

Pfad = InputBox("Geben Sie bitte den Pfad ein", Default:="C:\Test\")
Quelle = InputBox("Geben Sie bitte den Namen der Quelldatei ein!", Default:="MeineDatei.xls")
TQ = InputBox("Geben Sie bitte den Berichtsmonat ein!", Default:="Tabelle1")

Ziel = "C:\Test\MeineDatei2.xls"

Workbooks.Open (Ziel)
Workbooks.Open (Pfad & Quelle)

Set ZielD = Workbooks("MeineDatei2.xls")
Set ZielT = ZielD.Worksheets("Tabelle1")


ZielT.Range("C3") = Workbooks(Quelle).Worksheets(TQ).Range("A1")
ZielT.Range("C4") = Workbooks(Quelle).Worksheets(TQ).Range("A2")
ZielT.Range("C5") = Workbooks(Quelle).Worksheets(TQ).Range("A3")
End Sub

Danke im Voraus
mfg
majdi

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Fehler im Code?
04.01.2003 18:14:31
Hajo_Zi
Hallo majdi

ich kann Deinen Fehler nicht nachvollziehen. Ich würde ber min. folgende Ergänzungen vornehmen.


Option Explicit

Sub Datenimport()
Dim Pfad As String
Dim Quelle As String
Dim TQ As String
Dim Ziel As String
Dim ZielD As Workbook
Dim ZielT As Worksheet
Pfad = InputBox("Geben Sie bitte den Pfad ein", Default:="C:\Test\")
Quelle = InputBox("Geben Sie bitte den Namen der Quelldatei ein!", Default:="MeineDatei.xls")
TQ = InputBox("Geben Sie bitte den Berichtsmonat ein!", Default:="Tabelle1")
' **** Ergänzung
If Pfad = "" Or Quelle = "" Or TQ = "" Then Exit Sub
' ****
Ziel = "C:\Test\MeineDatei2.xls"
Workbooks.Open (Ziel)
Workbooks.Open (Pfad & Quelle)
Set ZielD = Workbooks("MeineDatei2.xls")
Set ZielT = ZielD.Worksheets("Tabelle1")
ZielT.Range("C3") = Workbooks(Quelle).Worksheets(TQ).Range("A1")
ZielT.Range("C4") = Workbooks(Quelle).Worksheets(TQ).Range("A2")
ZielT.Range("C5") = Workbooks(Quelle).Worksheets(TQ).Range("A3")
' **** Ergänzung
Set ZielD = Nothing
Set ZielT = Nothing
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Hajo

Anzeige
Re: Fehler im Code?
04.01.2003 21:49:40
Heinz A. Wankmüller
Hallo majdi,

die Fehlermeldung bedeutet, dass es in der Arbeitsmappe keine Tabelle mit dem Namen "Mai" gibt!

Gruß
Heinz

Re: Fehler im Code?
05.01.2003 16:29:53
majdi
Hi,
Hajo,Danke für die vorgeschlagenen Änderungen.Scheinen ganz sinnvoll zu sein,werd meinen Code ergänzen.
Heinz,das hab ich mir fast gedacht,danke für die Bestätigung.
Kannst du mir noch sagen,wie ich den Code so umändere, daß das
Makro das Tabellenblatt mit dem entsprechenden Namen der Inputbox (z.B. Mai) erzeugt.

mfg majdi

Re: Fehler im Code?
05.01.2003 17:11:14
Heinz A. Wankmüller
Hallo majdi,

Workbooks.Open (Ziel)
Set ZielD = ActiveWorkbook
Set ZielT = ZielD.Worksheets("Tabelle1")

Workbooks.Open (Pfad & Quelle)

Mit
ZielT.Range("C3") = Workbooks(Quelle).Worksheets(TQ).Range("A1")
schreibst du den Wert aus der Tabelle TQ (.B. Mai) aus der Zelle A1 in die Zelle C3 der Tabelle ZielT. Das bedingt, dass zu diesem Zeitpunkt die Tabelle TQ (z.B. Mai) schon vorhanden ist. Wenn du erst jetzt die Tabelle TQ (z.B. Mai) erzeugst, steht in dieser ja nichts drin! Du musst sie also schon vorher generieren und Werte einfügen, woher auch immer!

Gruß
Heinz

Anzeige
Re: Fehler im Code?
06.01.2003 11:23:51
majdi
Hi,
Ok,trotzdem danke für die prompte Antwort.

mfg
majdi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige