Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Dateinamen aus Tabelleninhalt erzeugen!

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  Dateinamen aus Tabelleninhalt erzeugen! (1435 mal gelesen)
matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 08:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

ich möchte aus einer Exceltabelle einen Vielzahl von einzelnen TXT Dateien erzeugen um mit diesen Dateien ein Makro für das CAD System zu steuern!

ich stelle mir das folgendermaßen vor:
1. gehe in Spalte A
2.erzeuge aus A1, A2 und A3 einen Dateinamen
3.Speichere die Spalte A unter diesem Namen als BS(A1)DL(A2)P(A3).TXT
4.gehe zu Spalte B
...

DANKE im voraus!!

Matthias

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 17. Jul. 2007 08:52    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Ja - schöne Vorstellung....

Und was hast du davon schon fertig?
(da man das Programmieren muss hast du sicher schon einen ersten Lösungsansatz dafür, oder?)

------------------
Grüsse

Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 09:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

NAJA,
am Anfang war die Vorstellung und ich hoffe das jemand das gleiche Problem vor einiger Zeit schon hatte, so die ich vom Wissen und Können anderer partizipieren kann :-)))

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Paulchen
Mitglied
Bauing./SW-Entwickler


Sehen Sie sich das Profil von Paulchen an!   Senden Sie eine Private Message an Paulchen  Schreiben Sie einen Gästebucheintrag für Paulchen

Beiträge: 1227
Registriert: 19.08.2004

Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice

erstellt am: 17. Jul. 2007 10:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Hallo,
Zitat:
Original erstellt von matthiasf:
NAJA,
am Anfang war die Vorstellung und ich hoffe das jemand das gleiche Problem vor einiger Zeit schon hatte, so die ich vom Wissen und Können anderer partizipieren kann :-)))

Hgrmpf... das kannst Du sicher! Nur von ganz alleine geht nicht viel. Die Wahrscheinlichkeit, daß es für Deinen konkreten Fall schon eine 1A-Musterlösung gibt, ist sehr gering. Ohne eigenes Zutun wirst Du nicht weit kommen.

Zwei Vorschläge:
1. Textzeichen werden in xls mit einem & verknüpft. Z.B. in einer beliebigen Zelle ="BS"&(A1)&"DL"&(A2)&"P"&(A3)&".TXT" für den Dateinamen.
2. Schmeiß' den Makrorecorder an und werde selbst aktiv. Das ist die runde Schaltfläche Makro aufzeichnen in der Symbolleiste Visual Basic in xls.

Gegenfrage: Was verstehst Du unter einer "Vielzahl"?

Frederik

------------------
DIN1055.de  |  Lastannahmen für Anwender

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 10:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke, geht ja einigermaßen, habe jetzt nur ein Problem mit den "

ActiveWorkbook.SaveAs Filename:= _
       
"C:\Dokumente und Einstellungen\fellerkk.VKK\Eigene Dateien\kesselmakro\""BS" & (A1) & "DL" & (A2) & "P" & (A3) & ".txt""" _, FileFormat:=xlUnicodeText, CreateBackup:=False

sind die " so richtig verteilt??

PS.: es sind ca. 300 Datensätze!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 10:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

na wird doch ;-)
ich mach sowas immer über ne Variable vorweg:
Code:
strDateiname = "BS(" & Tabelle1.Cells(1, a).Value & ")" & "DL(" & Tabelle1.Cells(2, a).Value & ")" & "P(" & Tabelle1.Cells(3, a).Value & ").txt"

und dann

Code:
    ActiveWorkbook.SaveAs Filename:= _
        "\\C\" & strDateiname _
        , FileFormat:=xlText, CreateBackup:=False

also nach dem letzten \ die Variable einsetzen.

Und ob Du wirklich richtig stehst, siehst Du, wenn das Licht angeht 
maw: Du siehst doch, ob es läuft... geh bei 300 Dateien den code mit F8 durch, nicht einfach laufen lassen!

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 12:23    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hier mal das Makro
__________
Sub Makro2()
'
' Makro2 Makro
' Makro am 17.07.2007 von harry müller aufgezeichnet
'

'
    Range("A1:A17").Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    strDateiname = "BS(" & Tabelle1.Cells(1, a).Value & ")" & "DL(" & Tabelle1.Cells(2, a).Value & ")" & "P(" & Tabelle1.Cells(3, a).Value & ").txt"
    ActiveWorkbook.SaveAs Filename:="C:\Dokumente und Einstellungen\fellerkk.VKK\Eigene Dateien\kesselmakro\" & strDateiname, FileFormat:=xlText, CreateBackup:=False
       
End Sub
____________

es markiert die gewünschten Werte und erstellt eine neue Tabelle nur das speichern will nicht klappen!!!

HILFE!!!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 17. Jul. 2007 13:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

wie Runkelrübe sagte, baue deinen Speichername vorher zusammen 

und schaue nach was die Variable enthält,

was ergibt aa= Tabelle1.Cells(1, a).Value ;-) 'denke mal das A steht für eine Variable ;-)

Code:
Sub ohne_schleife()
Range("A1:A17").Copy '
    Workbooks.Add
    ActiveSheet.Paste
Set tb = ActiveWorkbook.Worksheets(1)
    'Application.CutCopyMode = False
    strDateiname = "BS(" & tb.Cells(1, 1).Value & ")DL(" & tb.Cells(2, 1).Value & ")P(" & tb.Cells(3,1).Value & ").txt"
    ActiveWorkbook.SaveAs Filename:="C:\verzeichnis\" & strDateiname, FileFormat:=xlText, CreateBackup:=False
    ActiveWorkbook.Close SaveChanges:=False 'schliesse Aktives Workbook ;-)
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 13:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Ist das das ganze Makro?
Wenn ja, dann schau Dir bitte im Lokalfenster mal die Variable strDateiname an. Da sollte bislang kein Wert für existieren. ;-)
Warum? Weil dort noch weitere Variablen drin stehen: Tabelle1.Cells(1, a).Value
Das ganze muß ja schließlich irgendwann mal durch ne Schleife, denn Du willst ja spaltenweise exportieren. Das ist halt bei mir schon drin. Du siehst, reines C&P reicht nicht immer ;-)

Tipps zum Einstieg ins VBA

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 13:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

AHHH


das a eine Variable ist hätte ich wisse nmüsen dachte es wäre die Spalte!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 14:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Allmählich sehe ich land, kann der Ausdruck  tb.Cells(y,x) auch in Verbindung mit RANGE oder COLLUMNS
verwendet werden

Range("tb.Cells(y1,x):tb.Cells(y2,x)")

Wenn Ja 
 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 14:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Ja, geht: z.B.:
Tabelle1.Range(Cells(1, 1), (Cells(10, 1))).Activate
Brauchst Du aber hier nicht ;-)
Du kannst nämlich die ganze Spalte kopieren:
Sheets(2).Columns(1).Value = Tabelle1.Columns(a).Value

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 15:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Sub ChkFirstWhile()
    s = 1
    Do While s < 217
   
Columns(s, s).
Select

--------------

wollte damit eigentlich die Spalte s also A wählen wiso geht das nicht??

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 15:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Dafür guckst Du Dir an (F1!), wieviele Argumente das Schlüsselwort Columns erwartet (nämlich nur eins). Oder Du schaust in meinem vorigen Beitrag, da wird's auch schon verwendet ;-)

Bitte tu Dir selber den Gefallen und überfliege (und beachte) meine Tipps zum VBA-Einstieg, damit kommst Du solchen "Fehlern" recht einfach auf die Schliche.

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 15:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

DANKE DANKE DANKE

wenn ich jetzt noch erfahre wie ich die abfrage ob die Datei wirklich geschlossen werden soll weg bekommen bin ich glücklich!


DANKE

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 15:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Application.DisplayAlerts = False

Aber Vorsicht damit schaltest Du wirklich alle Meldungen ab!!!

Und Du solltest nicht vergessen, das vor dem End Sub wieder auf True zu stellen ;-)

Postest Du uns noch den kompletten code, bitte? Dann schauen wir da einmal gemeinsam drüber ;-)

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 17. Jul. 2007 16:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Code:
Sub Schnippsel()
Set tbl = ActiveCell.CurrentRegion
areaCount = tbl.Columns.Count
    MsgBox "Diese Mappe enthält " & _
        areaCount & " Spalten."
    For i = 1 To areaCount
    Columns(i).Select
        MsgBox "Spalte " & i & " von " & _
            areaCount & " Spalten."
'hier könnte eine Übergabe stehen
    Next i
End Sub

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 17. Jul. 2007 16:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Das Makro und es funzt so wie es soll!!

Sub ChkFirstWhile()
    s = 1
    Application.DisplayAlerts = False
    Do While s < 218
   
Columns(s).Select
Set tb = ActiveWorkbook.Worksheets(1)
    'Application.CutCopyMode = False
    strDateiname = "BS" & tb.Cells(1, s).Value & "DL" & tb.Cells(2, s).Value & "P" & tb.Cells(3, s).Value & ".DAT"
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
Set tb = ActiveWorkbook.Worksheets(1)
    'Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:="C:\Dokumente und Einstellungen\fellerkk.VKK\Eigene Dateien\kesselmakro\SKK\HD0101\Daten\Daten\" & strDateiname, FileFormat:=xlText, CreateBackup:=False
'schliesse Aktives Workbook ;-)
ActiveWindow.Close
s = s + 1
Loop
Application.DisplayAlerts = True
End Sub


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

runkelruebe
Moderator
Straßen- / Tiefbau




Sehen Sie sich das Profil von runkelruebe an!   Senden Sie eine Private Message an runkelruebe  Schreiben Sie einen Gästebucheintrag für runkelruebe

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 17. Jul. 2007 17:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Na prima 
Wenn's alles so läuft ist doch gut, Du könntest das jetzt noch optimieren, also so Sachen wie .Select rausnehmen und ich persönlich mag keine loop-schleifen, aber tut's ja auch so  ;-)

Danke für's Reinstellen, gibt's auch U's für 

Schönen Abend noch 

------------------
Gruß,
runkelruebe                         Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 17. Jul. 2007 18:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

auch von mir ein        trotz select und doppeltem Set tb ;-)

meine Variante wäre:

Code:
Sub nolimit()
    Set tb = ActiveWorkbook.Worksheets(1)
    verz = "C:\Dokumente und Einstellungen\fellerkk.VKK\Eigene Dateien\kesselmakro\SKK\HD0101\Daten\Daten\"
    For Each c In tb.UsedRange.Columns 'nach benutzten Spalten schauen
        cc = c.Column 'cc= Spaltennummer
        strDateiname = "BS" & tb.Cells(1, cc) & "DL" & tb.Cells(2, cc) & "P" & tb.Cells(3, cc) & ".DAT"  
        Columns(cc).Copy 'kopieren der Spalte
        Workbooks.Add 'Neue Mappe
        ActiveSheet.Paste 'Kopieren der Spalte (...in Spalte A)
        ActiveWorkbook.SaveAs Filename:=verz & strDateiname, FileFormat:=xlText, CreateBackup:=False
        ActiveWindow.Close SaveChanges:=False 'schliesse Aktives Workbook ;-)
    Next
End Sub

leere Spalten vor der Ersten und der Letzten benutzten Spalte werden ignoriert, aber nicht die dazwischenliegende leere Spalten.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

matthiasf
Mitglied



Sehen Sie sich das Profil von matthiasf an!   Senden Sie eine Private Message an matthiasf  Schreiben Sie einen Gästebucheintrag für matthiasf

Beiträge: 86
Registriert: 18.11.2004

Core 2 DUO T6400 2130MHz
2GB RAM
QuadroFX 1500
HiCAD 12.113b

erstellt am: 20. Jul. 2007 13:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke,
und was mich noch interessiert kann ich ein einem Dateinamen . verwenden, unter DOS ging es ja nicht. In Ecxel sind , zwar als Punkt geschrieben und als Text formatiert beim Export tauchen aber grundsätzlich , auf!! 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Thomas Harmening
Moderator
Arbeiter ツ




Sehen Sie sich das Profil von Thomas Harmening an!   Senden Sie eine Private Message an Thomas Harmening  Schreiben Sie einen Gästebucheintrag für Thomas Harmening

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 20. Jul. 2007 17:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für matthiasf 10 Unities + Antwort hilfreich

Zur ersten Frage, warum sollte das nicht gehen?

Zur Zweiten Frage:
Ländereinstellung auf englisch (usa) einstellen,
oder Dezimalzahl auf Punkt und

Code:
FileFormat:=42, Local:=True,
könnte helfen.

HTHHope this helps (Hoffe, es hilft weiter), die 42 ist ja die Antwort auf alle Fragen 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz