ich habe folgendes Problem: ich muss Daten aus 20 Tabellen in 20 Arbeitsblätter (meiner Datei)importieren. Die Daten stehen alle in Spalte A der Originaldateien (durch Leerzeichen getrennt). Wie kann ich die Daten per VBA trennen und in die jeweiligen Blätter importieren. Ich habe folgendes Makro (teilweise mit dem Recorder aufgezeichnet) zusammen gestellt(Dieses makro läuft für alle 20 Blätter nacheinander [20 mal]ab).
Sub datenimport_1()
Dim i As String
Dim k As String
'1
ThisWorkbook.Activate
Sheets("1").Select
'Blatt 1 von insgesamt 20
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Sheets("import").Select 'Pfad und Dateiname stehen hier nacheinander, beginnend in Zeile 2
i = Range("A2") 'hier steht der komplette Pfad der Datei, welche geoeffnet werden soll.
k = Range("E2") 'hier steht der Name der Datei, welche nach dem Datenimport wieder geschlossen werden soll.
Workbooks.Open i
Columns("A:A").Select
Selection.Copy
ThisWorkbook.Activate
Sheets("1").Select
ActiveSheet.Paste
'text in spalten
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _
33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), _
Array(40, 1), Array(41, 1), Array(42, 1), Array(43, 1), Array(44, 1), Array(45, 1), Array( _
46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), _
Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), Array(57, 1), Array(58, 1), Array( _
59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), _
Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), Array(71, 1), Array( _
72, 1), Array(73, 1), Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1), _
Array(79, 1), Array(80, 1), Array(81, 1), Array(82, 1), Array(83, 1), Array(84, 1), Array( _
85, 1), Array(86, 1), Array(87, 1), Array(88, 1), Array(89, 1), Array(90, 1), Array(91, 1), _
Array(92, 1), Array(93, 1), Array(94, 1), Array(95, 1), Array(96, 1), Array(97, 1), Array( _
98, 1), Array(99, 1), Array(100, 1), Array(101, 1), Array(102, 1), Array(103, 1), Array(104 _
, 1), Array(105, 1), Array(106, 1), Array(107, 1), Array(108, 1), Array(109, 1), Array(110, _
1)), TrailingMinusNumbers:=True
'
Sheets("import").Select
Workbooks(k).Close savechanges:=False 'die Datei wird wieder geschlossen