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

Werte kopieren

Werte kopieren
31.12.2006 09:57:19
Heinz
Guten morgen Leute
Ich habe im Pfad "I:\Test\PA's - nach SAP-Nummer"
lauter Tab.Blätter mit SAP Nummern. ZB. 19022.xls,22077.xls usw.Also immer 5 stellige Nummern.
Nun möchte ich einige Werte in die Arbeitsmappe "Gewichtsblätter & Wochenumbau.xls" Sheets "Artikeln" einfügen.
Also zB.von 19022 D8 in "Gewichtsblätter & Wochenumbau.xls" Sheets "Artikeln" Spalte A .. von D11 in Spalte B usw.
Immer in die erste leere Spalte A im Sheets "Artikeln".
Könnte man Eingabefeld oder so ähnlich erstellen,wo ich die 5 stellige Nummer eingebe der mir dann die Werte kopiert.
Eventuell mit einer Abfrage, wenn die Nummer schon in Spalte A existiert.
Könnte mir Bitte dabei jemand helfen ?
Danke & Gruß Heinz

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte kopieren
31.12.2006 12:51:41
Herby
Hallo Heinz,
das Makro soll aus verschiedenen Mappen (z.B. 33344.xls) die sich in einem bestimmten Verzeichnis befinden und nur aus einem Tabellenblatt bestehen (=Tabelle1) bestimmte Zellen auslesen.
Der Dateiname und die Zelladresse wird über eine Eingabebox erfasst (z.B. 33344 D5) dh. Dateiname = 33344 und die Zelladresse, die ausgelesen werden soll ist D5.
Der ausgelesene Wert (das Ergebnis also) soll in die aktuelle Mappe übernommen werden und zwar immer in die Spalte A und dort in die nächste leere Zeile (also immer untereinander).
Habe ich Dich so richtig verstanden ?
Das Auslesen funktioniert problemlos mit untenstehendem Makro, nur bin ich nicht sicher wohin das Ergebnis kopiert werden soll bzw. was dabei berücksichtigt werden soll ?
Viele Grüße
Herby

Private Sub CommandButton1_Click()
Dim strErgebnis As String
Dim strPfad As String, strDatei As String, strPfadDatei As String
Dim ZelleA As String, ZelleR As String
Dim strSource As String
' oder ActiveWorkbook.Path
strErgebnis = InputBox("Geben Sie die Nr. ein:", "SAP-Nummern", "33344 B2")
strPfad = ThisWorkbook.Path & "\"
strDatei = Left(strErgebnis, 5) & ".xls"
strPfadDatei = strPfad & strDatei
If strErgebnis = "" Then
MsgBox " Sie haben keinen Wert eingegeben !"
Exit Sub
ElseIf Dir(strPfadDatei) = "" Then
MsgBox strPfadDatei
MsgBox "der eingegebene Wert " & strPfadDatei & " entspricht keinem Dateinamen im Verzeichnis !"
Exit Sub
End If
' Zelle berechnen
ZelleA = Mid(strErgebnis, 6)
ZelleR = Range(ZelleA).Address(ReferenceStyle:=xlR1C1)
MsgBox ZelleR
'Dim i As Integer
'i = 2
'strSource = "'" & strPfad & "[" & strDatei & "]Tabelle1'!R2C" & i & ""
strSource = "'" & strPfad & "[" & strDatei & "]Tabelle1'!" & ZelleR & ""
MsgBox strSource
MsgBox xl4Value(strSource)
'Range("A" & i - 4).Value = xl4Value(strSource) 'zurückschreiben
Range("A4").Value = xl4Value(strSource) 'zurückschreiben
End Sub

Function xl4Value(strParam As String) As Variant
xl4Value = ExecuteExcel4Macro(strParam)
End Function
Anzeige
AW: Werte kopieren
31.12.2006 13:50:55
Heinz
Hallo Herby
Schön das Du mir WIEDER Hilfst.
Bin jetzt in der Arbeit,bis 21:00 Uhr.
Werde es später testen.
Aber Du hast mich richtig verstanden.
Melde mich in ca. 1,5 Stunden.
Einstweilen recht herzlichen Dank.
Gruß Heinz
AW: Werte kopieren
31.12.2006 14:44:36
Heinz
Hallo Herby
Sieht sehr gut aus.
Nur Bitte der Pfad zum einlesen der Daten ist nicht auf C:\ sondern auf "T:\Qs\Allgm.Lesen\PA's - nach SAP-Nummer"
Also nicht im selben Verzeichnis.
Pogramm zum einlesen ist auf C:
Könntest Du mir Bitte dabei nochmals helfen.
Gruß Heinz
AW: Werte kopieren
31.12.2006 14:56:50
Herby
Hallo Heinz,
freut mich, dass es soweit funktioniert. Den Pfad habe ich angepasst.
Vielleicht kannst Du mir noch sagen, wohin die Werte geschrieben werden sollen ?
(vgl. mein 1. Posting).

Private Sub CommandButton1_Click()
Dim strErgebnis As String
Dim strPfad As String, strDatei As String, strPfadDatei As String
Dim ZelleA As String, ZelleR As String
Dim strSource As String
' oder ActiveWorkbook.Path
strErgebnis = InputBox("Geben Sie die Nr. ein:", "SAP-Nummern", "33344 B2")
'strPfad = ThisWorkbook.Path & "\"
strPfad = "T:\Qs\Allgm.Lesen\PA's - nach SAP-Nummer"
strDatei = Left(strErgebnis, 5) & ".xls"
strPfadDatei = strPfad & strDatei
If strErgebnis = "" Then
MsgBox " Sie haben keinen Wert eingegeben !"
Exit Sub
ElseIf Dir(strPfadDatei) = "" Then
MsgBox strPfadDatei
MsgBox "der eingegebene Wert " & strPfadDatei & " entspricht keinem Dateinamen im Verzeichnis !"
Exit Sub
End If
' Zelle berechnen
ZelleA = Mid(strErgebnis, 6)
ZelleR = Range(ZelleA).Address(ReferenceStyle:=xlR1C1)
MsgBox ZelleR
'Dim i As Integer
'i = 2
'strSource = "'" & strPfad & "[" & strDatei & "]Tabelle1'!R2C" & i & ""
strSource = "'" & strPfad & "[" & strDatei & "]Tabelle1'!" & ZelleR & ""
MsgBox strSource
MsgBox xl4Value(strSource)
'Range("A" & i - 4).Value = xl4Value(strSource) 'zurückschreiben
Range("A4").Value = xl4Value(strSource) 'zurückschreiben
End Sub

Viele Grüße
Herby
Anzeige
Backslasch noch einfügen
31.12.2006 15:02:46
Herby
Hallo Heinz,
ich habe vergessen den Backslash vom Pfad noch einzufügen. So ist die Zeile richtig:
strPfad = "T:\Qs\Allgm.Lesen\PA's - nach SAP-Nummer" & "\"
Viele Grüße
Herby
AW: Backslasch noch einfügen
31.12.2006 15:28:10
Heinz
Hallo Herby
Habe den Pfad jetzt richtig angelegt. ABER jetzt kommt die
MsgBox "der eingegebene Wert " & strPfadDatei & " entspricht keinem Dateinamen im Verzeichnis !"
Nochmals zu Erklärung im Verzeichnis
strPfad = "T:\Qs\Allgm.Lesen\PA's - nach SAP-Nummer" & "\"
liegen die Tab.Blätter mit den Namen 12518,21347 usw.
Nun sollte von Deinem Code den habe ich im Tab.Blatt "Artikeln"
die Datei geöffnet werden.
Die Werte von
Zelle D8 in "Artikeln" Spalte A
Zelle D11 in "Artikeln Spalte B
Zelle L6 in "Artikeln" Spalte E
Zelle L8 in "Artikeln" Spalte F
eingetragen werden.
Ich hoffe das ich mich ein wenig Verständlicher ausgedrückt habe.
Danke,Heinz
Anzeige
AW: Backslasch noch einfügen
31.12.2006 16:14:58
Herby
Hallo Heinz,
die von mir verwendete Technik (xl4makro) hat Probleme mit Deinem Verzeichnis und zwar mit dem Apostroph von PA's. Kannst Du das Apostroph gegen ein anderes Zeichen austauschen ober löschen ?
Wenn Du es austauscht, dann auch im Makro das Verzeichnis entsprechend anpassen.
Dann müsste es m.E. funktionieren.
Als Dateiname werden die ersten 5 Ziffern Deiner Eingabe genommen. Diese werden dann mit den vorhandenen Dateinamen verglichen.
strPfad = "T:\Qs\Allgm.Lesen\PA's - nach SAP-Nummer" & "\"
strPfad = "T:\Qs\Allgm.Lesen\PA_s - nach SAP-Nummer" & "\"
Zum 2. Teil noch eine Nachfrage. Der 1.Wert aus der 1. Datei (Zelle D8 wird in die Spalte A kopiert (in welche Zeile ?). Der 1. Wert aus der 2. Datei (Zelle wieder D8) wird dann ebenfalls in die Spalte A kopiert und zwar eine Zelle unterhalb des 1. Wertes.
Ist das so o.k. ?
viele Grüße
Herby
Anzeige
AW: Backslasch noch einfügen
31.12.2006 16:36:20
Heinz
Hallo Herby
Frage 1:
Der 1.Wert aus der 1. Datei (Zelle D8 wird in die Spalte A kopiert (in welche Zeile ?).
In die erste Zeile wo A frei ist.
Zb. A552 = 12345
A553 = 23456
A554 = frei
Dann
A554 = D8
B554 = D11
E554 = L6
F554 = L8
Danke, Heinz
Komplettes Makro
31.12.2006 17:04:23
Herby
Hallo Heinz,
anbei das komplette Makro:
Gehört in den SteuerelementeButton im Tabellenblatt "Artikeln":
Ich hab noch eine Kleinigkeit gegenüber den bisherigen Makro geändert.

Private Sub CommandButton1_Click()
Dim strErgebnis As String
Dim strPfad As String, strDatei As String, strPfadDatei As String
Dim ZelleA As String, ZelleR As String
Dim strSource As String
Dim LetzteZeile
' oder ActiveWorkbook.Path
strErgebnis = InputBox("Geben Sie die Nr. ein:", "SAP-Nummern", "33344 B2")
'strPfad = ThisWorkbook.Path & "\"
strPfad = "T:\Qs\Allgm.Lesen\PAs - nach SAP-Nummer" & "\"
strDatei = Left(strErgebnis, 5) & ".xls"
strPfadDatei = strPfad & strDatei
If strErgebnis = "" Then
MsgBox " Sie haben keinen Wert eingegeben !"
Exit Sub
ElseIf Dir(strPfadDatei) = "" Then
'  MsgBox strPfadDatei
MsgBox "der eingegebene Wert " & strPfadDatei & " entspricht keinem Dateinamen im Verzeichnis !"
Exit Sub
End If
' Zelle berechnen
ZelleA = Mid(strErgebnis, 7)
ZelleR = Range(ZelleA).Address(ReferenceStyle:=xlR1C1)
strSource = "'" & strPfad & "[" & strDatei & "]Tabelle1'!" & ZelleR & ""
' Werte in Tab Artikeln eintragen
Select Case UCase(ZelleA)
Case "D8"
LetzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & LetzteZeile).Value = xl4Value(strSource) 'zurückschreiben
Case "D11"
LetzteZeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
Range("B" & LetzteZeile).Value = xl4Value(strSource) 'zurückschreiben
Case "L6"
LetzteZeile = ActiveSheet.Cells(Rows.Count, 5).End(xlUp).Row + 1
Range("E" & LetzteZeile).Value = xl4Value(strSource) 'zurückschreiben
Case "L8"
LetzteZeile = ActiveSheet.Cells(Rows.Count, 6).End(xlUp).Row + 1
Range("F" & LetzteZeile).Value = xl4Value(strSource) 'zurückschreiben
Case Else
MsgBox "Die Eingabe der Zelle " & ZelleA & " kann nicht zugeordnet werden !"
End Select
End Sub

und die Funktion für das Auslesen der geschlossenen Datein
Gehört in ein Modul:
Function xl4Value(strParam As String) As Variant
xl4Value = ExecuteExcel4Macro(strParam)
End Function
Viele Grüße
Herby
Anzeige
AW: Komplettes Makro
31.12.2006 17:19:47
Heinz
Hallo Herby
Recht herzlichen DANK für Deine Bemühungen.
Kann Dein Markro erst am abend testen,bin schließlich in der Arbeit.
ABER mein Vertrauen ist Grenzenlos zu Dir.
Wünsche Dir und Deiner Familie ein gutes neues Jahr .
Bis zum nächsten mal.
Danke & Gruß Heinz
AW: Komplettes Makro
31.12.2006 17:59:54
Herby
Hallo Heinz,
derzeit liest das Makro immer nur eine einzige Zelle aus, nämlich die, die Du in die Eingabemaske eingibst. Aufgrund Deiner Antworten weiss ich nicht mehr ob das so richtig ist. Vielmehr denke ich, dass je Datei die Werte aus den Zellen D8/D11/L6 und L8 eingelesen werden sollen ?
Ich wünsche Dir und Deiner Familie ebenfalls ein gutes neues Jahr. Viel Glück !
Herby
Anzeige
AW: Komplettes Makro
01.01.2007 10:40:42
Heinz
DANK an Herby
Hat mir sehr weitergeholfen.
Gruß Heinz

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige