Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme Makro + Datenimport (SAP-Download)

Probleme Makro + Datenimport (SAP-Download)
14.04.2003 09:01:36
Dave
Hallo zusammen,
ich habe ein Problem mit dem Datenimport.

Es geht um folgendes:
zum allgm. Ablauf:

1.Ich sichere mir eine Liste aus dem SAP als Tabellenkalkulation.
(das sichern als Tabellenkalkulation bewirkt nur das "Einteilen" von Spalten und Zellen im voraus)

2.Ich lasse mir über ein aufgezeichnetes Makro die Datei öffnen bzw. importieren über den Text-Assistent, da die Datei keine Dateiendung besitzt.

3.Ich formatiere die Spalten entsprechend, sodass nur noch 2 Spalten mit Werten übrigbleiben.

4.Aus diesem 2 Spalten erstelle ich eine Pivottabelle(-n)

5.Nun wird die Pivottabelle durchsucht bzw. der Inhalt einer Zelle in einer Var_1 gespeichert + Inhalt einer weiteren Zellen in einer weiteren Var_2 und mit dem Inhalt bestimmter Zellen auf einem anderen Tabellenblatt verglichen. Wenn "true" dann wird die Var_2 in die entsprechende Zelle übernommen.

nun kommt der Haken:
die 2.Spalte die als Datengrundlage für die Pivotabelle dient enthält Werte über 1000. Der Zelleninhalt wird hierbei mit Trennzeichen dargestellt.( 1.000 )
Wenn nun das Makro abläuft bekomm ich alle Werte ab 1.000
als 1 dargestellt, wie z.B.

1.240 als 1 (in der Statusleiste 1,24)
600 als 600 (in der Statusleiste 600) i.O.
3.490 als 3 (in der Statusleiste 3,49)

In meiner Pivottabelle habe ich logischerweise meine falschen Werte, bis 4 Stellen nach dem Komma.

Wenn ich die Punkte 1-3 einzeln ausführe habe ich seltsamerweise die richtigen Werte?!

anbei noch der Code:

'Die Datei "CC.xls" ist bereits durch eine Userform geöffnet
'...
'Datei DateiXY öffnen, formatieren, Pivottabellen erstellen
ChDir "C:\..."
Workbooks.OpenText FileName:= _
"C:\...\DateiXY", Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1))
'formatieren
Range("B:N,P:P,Q:Q").Select
Range("Q1").Activate
Selection.Delete Shift:=xlToLeft
ActiveWindow.LargeScroll ToRight:=-1
Rows("1:1").Select
Selection.Delete Shift:=xlUp
Range("A1").Select
ActiveCell.FormulaR1C1 = "Ma"
Range("B1").Select
ActiveCell.FormulaR1C1 = "St"
Range("D1").Select
Columns("B:B").Select
Selection.NumberFormat = "0"
Range("A1").Select
'Pivot
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"DateiXY!R1C1:R10000C2", TableDestination:="R1C4", TableName _
:="Pivot-Tabelle1"
ActiveSheet.PivotTables("Pivot-Tabelle1").AddFields RowFields:="Materialnr"
ActiveSheet.PivotTables("Pivot-Tabelle1").PivotFields("St").Orientation _
= xlDataField
Range("G1").Select
ActiveSheet.PivotTableWizard SourceType:=xlDatabase, SourceData:= _
"DateiXY!R1C1:R10000C2", TableDestination:="R1C7", TableName _
:="Pivot-Tabelle2"
ActiveSheet.PivotTables("Pivot-Tabelle2").AddFields RowFields:="Ma"
With ActiveSheet.PivotTables("Pivot-Tabelle2").PivotFields("St")
.Orientation = xlDataField
.Name = "Summe - Stückzahl"
.Function = xlSum
End With
Range("F1").Select


'Daten in Target-Tabelle übernehmen
Dim varMatnr As String
Dim varAnzahlLieferungen As Integer
Dim Zelle1 As Range

'Anzahl Lieferungen
Windows("DateiXY").Activate
Range("D3:D1000").Select

For Each Zelle In Selection
Windows("DateiXY").Activate
Range("D3:D1000").Select
Zelle.Select
If ActiveCell.Value = "" Then Exit For
varMatnr = ActiveCell.Value
varAnzahlLieferungen = ActiveCell.Offset(0, 1).Value
Windows("CC.xls").Activate
Windows("CC.xls").Activate
Range("M29:M120").Select
For Each Zelle1 In Selection
If Zelle1 = varMatnr Then
Zelle1.Select
ActiveCell.Offset(0, 28).Value = varAnzahlLieferungen
End If
Next Zelle1
Next Zelle

'Stückzahl
Windows("DateiXY").Activate
Range("G3:G1000").Select

For Each Zelle In Selection
Windows("DateiXY").Activate
Range("G3:G1000").Select
Zelle.Select
If ActiveCell.Value = "" Then Exit For
varMatnr = ActiveCell.Value
varStückzahl = ActiveCell.Offset(0, 1).Value
Windows("CC.xls").Activate
Windows("CC.xls").Activate
Range("M29:M120").Select
For Each Zelle1 In Selection
If Zelle1 = varMatnr Then
Zelle1.Select
ActiveCell.Offset(0, 30).Value = varStückzahl
End If
Next Zelle1
Next Zelle


Windows("CC.xls").Activate
MsgBox ("Daten übertragen!")

End Sub

Vielen Dank im voraus!
Wenn Ihr einen Fehler im Coding oder etwas entdeckt was mann leichter darstellen kann, bin ich um jeden Tip dankbar.


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

Betreff
Datum
Anwender
Anzeige
Re: Probleme Makro + Datenimport (SAP-Download)
14.04.2003 09:31:34
Frederik Fuhrmann
Hallo!

Kommt denn der richtige Wert dabei raus, wenn du es in einer anderen Zelle mit der Formel =abs(A1) probierst?

Gruß
F.

Re: Probleme Makro + Datenimport (SAP-Download)
14.04.2003 09:37:22
Frederik Fuhrmann
...oder du ersetzt vorher im Makro die Punkte durch "" und nimmst dann den abs().

Gruß
F.

Re: Probleme Makro + Datenimport (SAP-Download)
14.04.2003 10:58:27
Dave
Ich habe es ausprobiert, leider ohne Erfolg, da
Wie ich sehe, die 1000er schon gleich nach dem Import auf 1,.. gesetzt sind. Kann ich hier mein Datenimport vielleicht anders gestalten?
Ursprünglicher Datentyp (Getrennt) - beim Import!
Ist es vielleicht über Feste Breite möglich. Wenn ja wie bekomm ich diese überflüssigen vierecke in den Zellen wieder weg?

Gruss und Danke!

Anzeige
Re: Probleme Makro + Datenimport (SAP-Download)
14.04.2003 11:03:22
Frederik Fuhrmann
Du könntest es noch mit , durch "" ersetzen versuchen, das wird aber auch nix.
Exportiere die Datei aus SAP raus nicht als Tabellenkalkulation sondern als Textdatei, dann hast du eine bessere Trennung (durch Semikola).

Gruß
F.

Re: Probleme Makro + Datenimport (SAP-Download)
14.04.2003 12:41:01
GerdZ
Hallo Dave,

importiere die Wertespalte als Text


FieldInfo:=Array(Array(1, 1), Array(2, 2))
^
2 für Import der Spalte als Text
und wende folgenden Code (Excel 2000) in dieser Spalte (z.B. B) an:
LetzteZelle = Range("B65536").End(xlUp).Address(FalseFalse)
With Range("B2:" & LetzteZelle)
    tmpArr = .Value
    For x = LBound(tmpArr) To UBound(tmpArr)
        tmpArr(x, 1) = CDbl(tmpArr(x, 1))
    Next x
    .Value = tmpArr
    .NumberFormat = "#,###"
End With
     Code eingefügt mit Syntaxhighlighter 1.13


Gruß
Gerd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige