Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Ausgabe eines Excel VBA-Makros in eine .txt-Datei umleiten

Mitglied: jschikora

jschikora (Level 1) - Jetzt verbinden

04.08.2011 um 15:25 Uhr, 4217 Aufrufe, 2 Kommentare

Hallo zusammen,

ich habe folgendes Problem und hoffe ihr könnt mir weiterhelfen. Ich habe in einer Excel-Tabelle mehrere Spalten mit Parametern und brauche von diesen Parametern alle Kombinationen. Ein VBA-Skript das mir diese Kombinationen erzeugt habe ich schon geschrieben. Das Problem ist jetzt, dass Excel 2003 "nur" 65536 Zeilen hat, ich aber mittlerweile mehr Kombinationen brauche. Das Makro funktioniert also nicht mehr.

Gibt es eine Möglichkeit die Ausgabe des Makros direkt in eine Textdatei, zum Beispiel auf dem Desktop, umzuleiten, damit ich das Platzproblem umgehe. Der Code für das bisherige Kombinations-Makro sieht so aus:

01.
Sub combinations() 
02.
 
03.
Dim c1() As Variant 
04.
Dim c2() As Variant 
05.
Dim c3() As Variant 
06.
Dim c4() As Variant 
07.
Dim c5() As Variant 
08.
Dim c6() As Variant 
09.
Dim out() As Variant 
10.
Dim j, k, l, m, n, o, p As Long 
11.
 
12.
 
13.
Dim col1 As Range 
14.
Dim col2 As Range 
15.
Dim col3 As Range 
16.
Dim col4 As Range 
17.
Dim col5 As Range 
18.
Dim col6 As Range 
19.
Dim out1 As Range 
20.
 
21.
 
22.
Set col1 = Range("A2", Range("A2").End(xlDown)) 
23.
Set col2 = Range("B2", Range("B2").End(xlDown)) 
24.
Set col3 = Range("C2", Range("C2").End(xlDown)) 
25.
Set col4 = Range("D2", Range("D2").End(xlDown)) 
26.
Set col5 = Range("E2", Range("E2").End(xlDown)) 
27.
Set col6 = Range("F2", Range("F2").End(xlDown)) 
28.
 
29.
c1 = col1 
30.
c2 = col2 
31.
c3 = col3 
32.
c4 = col4 
33.
c5 = col5 
34.
c6 = col6 
35.
 
36.
Set out1 = Range("H2", Range("M2").Offset(UBound(c1) * UBound(c2) * UBound(c3) * UBound(c4) * UBound(c5) * UBound(c6))) 
37.
out = out1 
38.
 
39.
j = 1 
40.
k = 1 
41.
l = 1 
42.
m = 1 
43.
n = 1 
44.
o = 1 
45.
p = 1 
46.
 
47.
Do While p <= UBound(c6) 
48.
    Do While o <= UBound(c5) 
49.
        Do While n <= UBound(c4) 
50.
            Do While j <= UBound(c3) 
51.
                Do While k <= UBound(c2) 
52.
                    Do While l <= UBound(c1) 
53.
                        out(m, 1) = c1(l, 1) 
54.
                        out(m, 2) = c2(k, 1) 
55.
                        out(m, 3) = c3(j, 1) 
56.
                        out(m, 4) = c4(n, 1) 
57.
                        out(m, 5) = c5(o, 1) 
58.
                        out(m, 6) = c6(p, 1) 
59.
                        m = m + 1 
60.
                        l = l + 1 
61.
                    Loop 
62.
                    l = 1 
63.
                    k = k + 1 
64.
                Loop 
65.
                k = 1 
66.
                j = j + 1 
67.
            Loop 
68.
            j = 1 
69.
            n = n + 1 
70.
        Loop 
71.
        n = 1 
72.
        o = o + 1 
73.
    Loop 
74.
    o = 1 
75.
    p = p + 1 
76.
Loop 
77.
 
78.
out1.Value = out 
79.
End Sub 
80.
 
Mitglied: bastla
04.08.2011 um 15:52 Uhr
Hallo jschikora!

Du könntest vor Zeile 46 das Trennzeichen zwischen den einzelnen Werten festlegen sowie die Zieldatei erstellen mit
01.
Delim = vbTab 'Trennzeichen zwischen den Spalten 
02.
 
03.
Set fso = CreateObject("Scripting.FileSystemObject") 
04.
Set Datei = fso.CreateTextFile(CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\Ausgabe.txt")
und dann die Zeilen 53 bis 58 durch
Datei.WriteLine c1(l, 1) & Delim & c2(k, 1) & Delim & c3(j, 1) & Delim & c4(n, 1) & Delim & c5(o, 1) & Delim & c6(p, 1)
ersetzen.

Das Testen überlasse ich Dir ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
05.08.2011 um 11:32 Uhr
Hallo jschikora!

Den Anfangsteil könnte man etwas vereinfachen:
01.
    Set col1 = Range("A2", Range("A2").End(xlDown)) 
02.
    Set col2 = Range("B2", Range("B2").End(xlDown)) 
03.
    Set col3 = Range("C2", Range("C2").End(xlDown)) 
04.
    Set col4 = Range("D2", Range("D2").End(xlDown)) 
05.
    Set col5 = Range("E2", Range("E2").End(xlDown)) 
06.
    Set col6 = Range("F2", Range("F2").End(xlDown)) 
07.
     
08.
    Set cols = Union(col1, col2, col3, col4, col5, col6) 
09.
     
10.
    For Each cell In cols.Cells 
11.
       'durläuft alle Zellen von col1 - col6 
12.
    Next 
13.
     
14.
    Set out1 = Range("H2", Range("M2").Offset(cols.Cells.Count - 1))
Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Linux
Ps Ausgabe in Datei umleiten
gelöst Frage von Matze1508Linux3 Kommentare

Hallo Zusammen, ich kann mir mit dem Befehl: ps -fC java einen output auf die Konsole ausgeben lassen. Allerdings ...

VB for Applications

Einlesen von Txt-Dateien mit unterschiedlichen Trennern mit Excel VBA

gelöst Frage von mhsk97VB for Applications12 Kommentare

Hallo Wissende, ich habe eine Textdatei mit unterschiedlichen Trennern vorliegen die ich über ein Excelmakro einlesen und schlußendlich als ...

VB for Applications

Excel Makros

Frage von chaos2goVB for Applications2 Kommentare

Hallo Gemeinde, File Größe über 500k Einträge Steigend . ich bekomme Monatlich ein Raw Dump aus unserer DB als ...

Microsoft Office

Excel VBA - Inhalte und Dateiname von txt-Dateien automatisch in Excel importieren

gelöst Frage von Booster07Microsoft Office2 Kommentare

Hallo zusammen, folgendes Problem habe ich so leider nicht im Internet finden können. Deshalb hoffe ich auf eure Hilfe. ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

TK-Netze & Geräte
Fax im Betrieb
Frage von gansa28TK-Netze & Geräte6 Kommentare

Hallo zusammen, Endlich wurden meine Gebete Erhört und der Rechner meines Bekannten dem ich etwas unter die Arme greife, ...

Humor (lol)
Nerd Zeitschrift gesucht
Frage von 2SeitenHumor (lol)6 Kommentare

Hey Zusammen, Ich suche eine Zeitschrift bei der es ums technische Basteln geht. Pc zusammenschrauben, Arduino Projekte, Server Tipps ...