PDA

Vollständige Version anzeigen : spalten in eine andere tabelle einlesen


carla
01.09.2001, 09:33
Hallo Leute,
ich brauche ein Makro, dass aus einer Excel-Tabelle eine bestimmte Spalte (G) in eine andere Tabelle, Spalte B exportiert. Da aus mehreren Tabellen in die B Spalte exportiert werden sollen, brauche ich noch eine Abfrage, ob schon was in der B Spalte drin steht und der neue Import dann in der nächsten leeren Zeile beginnt.
Der Export klappt zwar, aber ich bekomme das mit der Abfrage nicht hin, ich kann also nur eine Tabelle einlesen.
Das Makro sieht z.Z. so aus:
Sub einlesen()
On Error GoTo meld
datnam = InputBox("Geben Sie den Dateinamen ein" & Chr(10) & "(ohne Endung " & Chr(39) & ".xls" & Chr(39) & "):", "Name der Quelldatei", "Ablauf")
Range("B2:B100").Formula = "=[" & datnam & ".xls]" & "Tabelle1" & "!G2"
Exit Sub
meld:
meld = MsgBox("Die Daten können nicht gefunden werden." & Chr(10) & "Überprüfen Sie Ihre Eingaben!", , "Fehler bei der Eingabe")
End Sub

Kann mir da jmd helfen?
Bin für jeden Tipp dankbar!
DANKE!!!!

<p align="left"><font size="1" face="Century Gothic"><font color="#000000">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurde in diesem Beitrag ein Link entfernt.</font>

jinx
01.09.2001, 12:53
<font size="2" face="Century Gothic">Moin, carla,

vielleicht, indem Du zuerst die Spalte B auf Eintragungen überprüfst, und bei Inhalt eine neue Spalte B einfügst:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Sub</span> einlesen()
<span class="TOKEN">On Error GoTo</span> meld
datnam = InputBox(&quot;Geben Sie den Dateinamen ein&quot; &amp; Chr(10) _
&amp; &quot;(ohne Endung &quot; &amp; Chr(39) &amp; &quot;.xls&quot; &amp; Chr(39) &amp; &quot;):&quot;, &quot;Name der Quelldatei&quot;, &quot;Ablauf&quot;)
<span class="TOKEN">If</span> Range(&quot;B2&quot;).Value &lt;&gt; &quot;&quot; <span class="TOKEN">Then</span>
Columns(&quot;B:B&quot;).Select
Selection.Insert Shift:=xlToRight
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
Range(&quot;B2:B100&quot;).Formula = &quot;=[&quot; &amp; datnam &amp; &quot;.xls]&quot; &amp; &quot;Tabelle1&quot; &amp; &quot;!G2&quot;
<span class="TOKEN">Exit Sub</span>
meld:
meld = MsgBox(&quot;Die Daten k&ouml;nnen nicht gefunden werden.&quot; _
&amp; Chr(10) &amp; &quot;&Uuml;berpr&uuml;fen Sie Ihre Eingaben!&quot;, , &quot;Fehler bei der Eingabe&quot;)
<span class="TOKEN">End</span> <span class="TOKEN">Sub</span></pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

<font color="#808080" size="3" face="Arial Black">HTH
jinx</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten und die Signatur angepasst...</font>

Fredi
01.09.2001, 12:59
Hallo carla

Kopiere dieses Makro

Sub einlesen()
Dim Meld As String
Dim Zeile As Long
On Error GoTo Fehler:
Dim DatNam As String
DatNam = InputBox("Geben Sie den Dateinamen ein" & Chr(10) & "(ohne Endung " & Chr(39) & ".xls" & Chr(39) & "):", "Name der Quelldatei", "Ablauf")
Zeile = 2
Do Until Cells(Zeile, 2) = ""
Zeile = Zeile + 1
Loop
Range(Cells(Zeile, 2), Cells(Zeile + 98, 2)).Formula = "=[" & DatNam & ".xls]" & "Tabelle1" & "!G2"

Exit Sub
Fehler:
Meld = MsgBox("Die Daten können nicht gefunden werden." & Chr(10) & "Überprüfen Sie Ihre Eingaben!", , "Fehler bei der Eingabe")
End Sub

Bitte gib mir Bescheid, so oder so.

Gruss

Fredi

carla
01.09.2001, 14:13
Hallo Fredi,
das funktioniert ganz wunderbar! Danke. Damit ist mein Problem gelöst! :-)
Schönes Wochenende!

Hallo Jinx,
auch Dir herzlichen Dank. Deine Lösung funktioniert auch, ich brauche aber alle Daten in einer Spalte!

jinx
01.09.2001, 15:07
<font size="2" face="Century Gothic">Moin, carla,

sorry: Formel 1 und Excel vertragen sich nicht sooo gut! Falsch (nur halb) gelesen.

Code müßte dann heißen:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre> Range(&quot;B2&quot;).Select
<span class="TOKEN">If</span> ActiveCell.Value &lt;&gt; &quot;&quot; <span class="TOKEN">Then</span>
Rows(&quot;2:100&quot;).Select
Selection.Insert Shift:=xlToBottom</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

<font color="#808080" size="3" face="Arial Black">cu
jinx</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: die Überarbeitung dieses Beitrages ist im Zuge der Arbeiten zu sehen, die durch den Wechsel der Forensoftware zum 01.01.2003 verursacht wurden.

Es wurden in diesem Beitrag Links korrigiert, die auf falsche Adressen zeigten und die Signatur angepasst...</font>