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

Verkettung

Verkettung
18.11.2003 09:05:37
Klaus
Guten Morgen liebes Forum,

Im folgenden Macro funktioniert die Verkettung von A1 & B1 nicht.
Ich habe auf C: einen Ordner "Test" erstellt.
In diesen Ordner liegen xls Dateien. (1.xls; 2.xls; 3.xls usw.)
Ich wollte das Excel alle dort abgelegten Dateien durchsucht und mir die Verkettung von z.B. A1 & B1 ausgibt.
Durchsuchen und Auflistung klappt aber die Verkettung nicht.
Kann jemand von Euch helfen?


Sub Komprimieren()
Dim FName$, FCount%, z%
Dim FileArray()
Dim strPath As String
FName = Dir(C:\Test\*.xls")
Do While FName <> ""
FCount = FCount + 1
ReDim Preserve FileArray(1 To FCount)
FileArray(FCount) = FName
FName = Dir()
Loop
For z = 1 To FCount
With ActiveSheet
.Cells(z, 1) = FileArray(z)
'Externe Verknüpfung herstellen
.Cells(z, 2).Formula = "='" & ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!A1"
'Funktioniert ohne Fehler
.Cells(z, 2).Formula = "='" & ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!A1&B1"
'aber das nicht
End With
Next
With ActiveSheet
'eingelesene Dateien sortieren
Columns("A:A").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
End With
End Sub


Danke, Klaus

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verkettung
18.11.2003 09:24:46
Holger Levetzow
versuche es mal so (kann es nicht testen, da ich schon bei FName einen Fehler bekomme)

.Cells(z, 2).Formula = "='" & ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!A1" & _
ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!B1"

Holger
AW: Verkettung
18.11.2003 09:35:37
Klaus
Hi, Holger
Leider wird Anwendungs- oder objektdefinierter Fehler ausgegeben.
Fehler bei FName bei Dir kann daran liegen, das noch kein Ordner Test mit Dateien existiert.

Klaus
AW: Verkettung
18.11.2003 09:43:55
Holger Levetzow
doch, den Ordner habe ich und auch die Dateien. Schon beim einfügen war die Zeile rot.
Notfalls schicke die datei mal rüber.

mfg Holger
Anzeige
AW: Verkettung
18.11.2003 09:48:56
Klaus
Hi,
habe vergessen es Dir zu sagen,
erstelle ein leeres Tabellenblatt mit einem Button.
Diesem weise das Macro zu.
Speichere diese Datei z.B. Komprimieren.xls im gleichen Ordner ab wo die auszulesenden Dateien liegen.
Hier also der Ordner Test.
Dann funzt es auch.
Klaus
AW: Verkettung
18.11.2003 09:53:50
Holger Levetzow
nein, es funzt nicht! Kann ja auch nicht. Allein in der 6. Zeile
FName = Dir(C:\Test\*.xls")
ist doch schon ein syntaktischer Fehler (die ").

Holger
AW: Verkettung
18.11.2003 09:56:32
Klaus
FName = Dir("C:\Test\*.xls")
so isses richtig
AW: Verkettung
18.11.2003 10:03:30
Holger Levetzow
na, so kann man doch arbeiten und Zeit sparen (woher kam eigentlich der Fehler, wurde er beim Kopieren verschluckt?). Die Zeile muss heißen:

.Cells(z, 2).Formula = "='" & ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!A1" & _
"&'" & ThisWorkbook.Path & "\[" & FileArray(z) & "]Tabelle1'!b1"

Holger
Anzeige
AW: Verkettung
18.11.2003 10:29:12
Klaus
Toll was ?
Jetzt funzt es bei mir auch. Danke Dir dafür.
Musste mal aus vielen Dateien immer einen Zellwert für diverse Auswertungen verwenden.
Wurde mir zu mühsehlig. So entstand das Macro.
Habe von VB kaum Ahnung. Alles nur mit Versuch und Irrtum und Forumhilfe erstellt.

Ja die " wurden beim kopieren ins Nirwana geschickt.
Mir fällt gerade ein:
die lästige letzte Zeile muß weg.

dieses Macro löscht mir aber alles.
Weist Du auch hier Rat ?
Klaus


Sub letzte Zeile löschen()
Dim i As Long
Application.ScreenUpdating = False
For i = 1 To 6000
If WorksheetFunction.Sum(Range("A" & i & ":P" & i)) = 0 Then
Range("A" & i & ":P6000").ClearContents
Exit For
End If
Next i
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Verkettung
18.11.2003 10:38:14
Holger Levetzow
versuche es mal so: (die for-to-schleife besser abwärts laufen lassen)

Sub letzte_Zeile_löschen()
Dim i As Long
Application.ScreenUpdating = False
For i = 6000 To 1 Step -1
If WorksheetFunction.Sum(Range("A" & i & ":P" & i)) = 0 Then
Range("A" & i & ":P" & i).ClearContents
Exit For
End If
Next i
Application.ScreenUpdating = True
End Sub

willst Du gar die ganze zeile löschen, ist wohl besser:

Sub letzte_Zeile_löschen()
Dim i As Long
Application.ScreenUpdating = False
For i = 6000 To 1 Step -1
If WorksheetFunction.Sum(Range("A" & i & ":P" & i)) = 0 Then
Rows(i & ":" & i).ClearContents
Exit For
End If
Next i
Application.ScreenUpdating = True
End Sub

Holger
Anzeige
AW: Verkettung
18.11.2003 10:41:07
Klaus
Ich Danke Dir für Deine Mühe und die Geduld mit mir.
Alles Gute und noch ne schöne Woche.
Klaus
AW: Verkettung
18.11.2003 10:43:42
Holger Levetzow
Dir auch!

mfg Holger

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige