Herbers Excel-Forum - das Archiv
Zellen kopieren
Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Betrifft: Zellen kopieren
von: junny
Geschrieben am: 07.10.2003 16:28:32
Hai Leute,
schon wIeder ein Problem
ich füge mittels Makro Zeilen aus anderen Tabellen ins active Sheet.
Die Zeilen werden immer Unterhalb eingefügt.
Dadurch werden die darin enthaltenen Verweise hochgezählt. Das will ich NICHT!!
Bsp.:
Ich fülle eine Zelle mit 1 aus schnappe diese unten rechts, ziehe Sie nach unten, Excel füllt nun bekanntlich automatisch mit 2, 3,... aus.
Klar., sont geht das mit den $$ Zeichen, aber was mache ich bei automatischer Füllung der Zellen??
Hoffe Ihr wisst was ich meine, Gruss junny
Betrifft: AW: Zellen kopieren
von: Folker
Geschrieben am: 07.10.2003 16:38:07
Hallo,
das unterbindet man normalerweise durch halten der STRG Taste. In VBA wäre der Unterschied:
Selection.AutoFill Destination:=Range("A1:A26"), Type:=xlFillDefault
Selection.AutoFill Destination:=Range("A1:D26"), Type:=xlFillCopy
Gruss Folker
Betrifft: AW: Zellen kopieren
von: junny
Geschrieben am: 07.10.2003 17:05:04
Hai Folker,
ja, aber hast Du eine Idee wo ich die Anweisung im folgendem Code unterbringen kann?
Sub ImportZeile()
Dim fs As FileSearch
Dim lRow As Long
Dim iCounter As Integer
'Application.ScreenUpdating= false
Set fs = Application.FileSearch
lRow = 2
'lRow = InputBox("Zeilen Nr. angeben")
With fs
.Filename = "*.xls"
.LookIn = "C:\Dokumente und Einstellungen\vw\Eigene Dateien\Test\Zeitenliste" 'Range("A20").Value
.Execute
For iCounter = 1 To .FoundFiles.Count
lRow = lRow
Workbooks.Open .FoundFiles(iCounter)
Sheets("Zeiten").Select
ActiveSheet.Range("2:2").Copy ThisWorkbook.Worksheets(1).Cells(lRow, 1)
lRow = lRow + Range("2:2").Rows.Count
ActiveWorkbook.Close savechanges:=False
Next iCounter
End With
End Sub
Gruss junny
Betrifft: AW: Zellen kopieren
von: Folker
Geschrieben am: 07.10.2003 17:45:33
Ich denke mal es liegt an der Zeile
ActiveSheet.Range("2:2").Copy ThisWorkbook.Worksheets(1).Cells(lRow, 1)
in der du kopierst.
benutze einfach einmal die normale Kopiermethode nur für Werte
ActiveSheet.Range("2:2").Copy
...Cells(lRow, 1).PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
die du auch mit dem Macrorecorder aufzeichnen kannst. Dann sollte es eigentlich klappen.
Gruss Folker
Betrifft: AW: Zellen kopieren
von: junny
Geschrieben am: 07.10.2003 19:47:42
Hai Folker
Danke für Deine Mühe, jedoch geht es leider nicht (Paste Spezial hatte ich auch schon dazu kopiert aber Syntaxfehler und dgl.
Falls Du noch einen Tipp hast, gerne!!
Gruss junny
Betrifft: AW: Zellen kopieren
von: Folker
Geschrieben am: 07.10.2003 23:57:13
Wüsste nicht was hieran nicht funktionieren sollte. Bei mir läufts einwandfrei. Mit DisplayAlerts = false kannst du noch die Abfragen unterbinden.
Sub ImportZeile1()
Dim fs As FileSearch
Dim lRow As Long
Dim iCounter As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set fs = Application.FileSearch
lRow = 2
'lRow = InputBox("Zeilen Nr. angeben")
With fs
.Filename = "*.xls"
.LookIn = "C:\Dokumente und Einstellungen\vw\Eigene Dateien\Test\Zeitenliste" 'Range("A20").Value
.Execute
For iCounter = 1 To .FoundFiles.Count
lRow = lRow
Workbooks.Open .FoundFiles(iCounter)
Sheets("Zeiten").Select
ActiveSheet.Range("2:2").Copy
ThisWorkbook.Worksheets(1).Cells(lRow, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
lRow = lRow + Range("2:2").Rows.Count
ActiveWorkbook.Close savechanges:=False
Next iCounter
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Betrifft: Folker, DANKE
von: junny
Geschrieben am: 08.10.2003 07:01:37
Irgendwie war ich da verblendet, Fakt Du hast recht es passt!
Nochmals Danke für Deine Hilfe!!
Gruss junny