Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Excel Import von Daten

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Excel Import von Daten (680 mal gelesen)
trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 15. Jan. 2007 10:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Zwischenablage02.jpg

 
Hallo zusammen
Ich erhalte von unserem Lieferanten Excel Files der einzelnen Produkte. Pro offeriertes Produkt ein Excel File bzw. XML File. Der Deiteiname lautet immer gleich der Artikelnummer ( z.Bsp. Artikelnummer des Produktes: 555236 -> Filename: 555236.xml bzw. xls).
Wir haben eine Excel liste worin wir die wichtigsten Daten für uns herauslesen.
Derzeit öffne ich die uns gesendeten Files, und kopiere Zelle um Zelle in unsere Tabelle damit ich diese zentral verwalten kann.

Wie kann ich im Excel durch ein Makro oder Verweise die Daten am einfachsten in unsere Tabelle Importieren?

Gewünschter Ablauf:
Tabelle ist geöffnet und über einen Importbefehl definieren von welchen Excel Files ich Einträge übernehmen will, das Tool sucht nächste freie Spalte und übernimmt die Werte.


Habt Ihr eine Idee wie man so etwas zusammenführen kann?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

erstellt am: 15. Jan. 2007 10:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von trainman:

Derzeit öffne ich die uns gesendeten Files, und kopiere Zelle um Zelle in unsere Tabelle damit ich diese zentral verwalten kann.

Mit Kopieren, Inhalte einfügen und Transponieren könntest du dir schon einiges an Arbeit ersparen.

pablo

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 15. Jan. 2007 12:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

oder du passt dir diesen Code in diesem Beitrag an dein Vorhaben an

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 15. Jan. 2007 20:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

und fertig könnte das so aussehen, mit Berücksichtigung, dass Zeile 6 nicht mitgehen soll
Code:
Sub transpose()
Dim LetzteZeile As Integer
Dim nr As Integer

Dim vATrArr() As Variant
Dim lAZeile As Long
Dim iASpalte As Integer
Dim iZielSpa As Integer
Dim lZielZei As Long
Dim x As Integer

WBa = ActiveWorkbook.Name

GetMappe = Application.GetOpenFilename("xls-Dateien (*.xls),*.xls", , "bitte die xls-Dateien für das Zusammenführen auswählen!", MultiSelect:=True)
    If TypeName(NameZiel) = "Boolean" Then
        Beep
        MsgBox "Sie müssen eine Datei auswählen!"
        Exit Sub
    End If
   
For nr = LBound(GetMappe) To UBound(GetMappe)
LetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
'msgbox - nur als Hilfe
    MsgBox "Die letzte Zeile, die einen Wert beinhaltet ist: " & LetzteZeile, vbInformation, "Is nicht wahr! :-)"
Workbooks.Open Filename:=GetMappe(nr)
    WBd = ActiveWorkbook.Name

iZielSpa = 2
lZielZei = 9
x = 0

ReDim vATrArr(1, 5)

For iASpalte = 2 To iZielSpa
    For lAZeile = 3 To lZielZei
        If lAZeile <> 6 Then
            vATrArr(0, x) = Cells(lAZeile, iASpalte)
            x = x + 1
        End If
    Next lAZeile
Next iASpalte

Workbooks(WBa).Activate

Range(Cells(LetzteZeile + 1, 1), Cells(LetzteZeile + 1, 6)) = vATrArr

    Workbooks(WBd).Close SaveChanges:=False
Next nr
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 25. Jan. 2007 08:46    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Thomas Harmening
Ausgezeichnete Arbeit, funktioniert super! Ich hätte aber noch eine kleine Bitte: bis jetzt Importiert das Script alle Werte bis zu Zeile 9 was muss ich am Script verändern damit er bis Zeile 13 geht und noch 3 zusätzliche Werte übernimmt und einträgt?

Gruss und Dank im voraus.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 25. Jan. 2007 09:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

Moin, moin, bin zwar nicht Thomas, aber ich versuch's trotzdem mal ;-)
hast Du mal die Zeilen
Code:
iZielSpa = 2
lZielZei = 9 '-> auf 13
x = 0

ReDim vATrArr(1, 5) 'auf (1,8) z.B.


angepaßt? Was passiert dann?

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 25. Jan. 2007 10:00    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo runkelruebe
Diese Einträge habe ich ebenfalls versucht umzuschreiben! Erhalte aber folgende Fehlermeldung:

Laufzeitfehler '9':
Index ausserhalb des gültigen Bereichs

Wenn ich auf Debuggen klicke wird folgende Zeile markiert:

            vATrArr(0, x) = Cells(lAZeile, iASpalte)

Hmm und wie weiter?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 25. Jan. 2007 10:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

der Fehler kommt, weil die Schleife weiter läuft, als das array dimensioniert ist. Mach das mal größer (oder die Schleife kleiner ;-) ) und guck nochmal.
Du kannst Dir im debugging auch mal per Quicktipp die Werte für die Variablen anzeigen lassen, indem Du kurz mit der Maus drauf verweilst.

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 25. Jan. 2007 10:50    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo runkelruebe!
Danke für den Tip, Ich habe es nun hingekriegt. Wo definiere ich eigentlich welche Zeilen er Ignorieren soll für den Datenimport? Jetzt werden die ersten 3 Werte richtig importiert und in den richtigen Spalten geschrieben, dann habe ich eine leere Spalte und dann geht es weiter!


Sub transpose()
Dim LetzteZeile As Integer
Dim nr As Integer
Dim vATrArr() As Variant
Dim lAZeile As Long
Dim iASpalte As Integer
Dim iZielSpa As Integer
Dim lZielZei As Long
Dim x As Integer

WBa = ActiveWorkbook.Name

GetMappe = Application.GetOpenFilename("xls-Dateien (*.xls),*.xls", , "bitte die xls-Dateien für das Zusammenführen auswählen!", MultiSelect:=True)
    If TypeName(NameZiel) = "Boolean" Then
        Beep
        MsgBox "Sie müssen eine Datei auswählen!"
        Exit Sub
    End If
   
For nr = LBound(GetMappe) To UBound(GetMappe)
LetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row

Workbooks.Open Filename:=GetMappe(nr)
    WBd = ActiveWorkbook.Name

iZielSpa = 2
lZielZei = 13
x = 0

ReDim vATrArr(1, 9)

For iASpalte = 2 To iZielSpa
    For lAZeile = 3 To lZielZei
        If lAZeile <> 9 Then
            vATrArr(0, x) = Cells(lAZeile, iASpalte)
            x = x + 1
        End If
    Next lAZeile
Next iASpalte

Workbooks(WBa).Activate

Range(Cells(LetzteZeile + 1, 1), Cells(LetzteZeile + 1, 10)) = vATrArr

    Workbooks(WBd).Close SaveChanges:=False
Next nr
End Sub

[Diese Nachricht wurde von trainman am 25. Jan. 2007 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 25. Jan. 2007 10:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

Nur überflogen, weil nicht mein code ;-) : BTWBy the way (So nebenbei bemerkt) wo isser, der Thomas?
Code:
If lAZeile <> 6 Then  ' 0> 6. Zeile wird ignoriert

Code:
For lAZeile = 3 To lZielZei ' => ab der 3. Zeile wird losgelegt

Tipp: geh in den VBA editor, und laß den code zeilenweise durchlaufen (mit F8) und schau Dir in aller Ruhe an, was Excel da so alles veranstaltet. Damit müßte sich dann schon einiges klären.

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 25. Jan. 2007 11:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo runkelruebe
Ok, und wie füge ich nun hinzu das er die Zeile 6 und Zeile 10 ignoriert?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 25. Jan. 2007 11:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

z.B. mit:
If lAZeile <> 6 And lAZeile <> 10 Then

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

trainman
Mitglied
CAD/PDM Supporter


Sehen Sie sich das Profil von trainman an!   Senden Sie eine Private Message an trainman  Schreiben Sie einen Gästebucheintrag für trainman

Beiträge: 89
Registriert: 19.11.2004

CATIAV5 R16/SmarTeam R16/AutoCAD 2006/WinXPPRO

erstellt am: 25. Jan. 2007 11:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

DANKE!!! runkelruebe, Flutscht so wie es soll :-)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 25. Jan. 2007 11:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für trainman 10 Unities + Antwort hilfreich

Thomas war's ;-)
ich hab hier nur reingepfuscht ;-)

Angenehmen Arbeitstag noch!

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz