Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Random.Zeile und Spalte in eine neue Zelle kopieren mit VBS in Excel 2007

Frage Entwicklung VB for Applications

Mitglied: FaBMiN

FaBMiN (Level 2) - Jetzt verbinden

08.12.2008, aktualisiert 14:40 Uhr, 4533 Aufrufe, 4 Kommentare

Hi alle zusammen
ich hab mal wieder eine kleine, und für geübte, warscheinlich simple Aufgabe zu lösen.

Situation
Ich habe eine Spalte 'A' mit bspw. einer fortlaufenden Nummer 'a' und eine Spalte 'B' mit einer fortlaufenden Nummer 'b'.

Ergebnis
Ich möchte eine Spalte 'C', welche sich aus A und B folgendermassen zusammensetzt:
A1B1, A1B2, A1B3, ..., A2B1, A2B2, A2B3, ..., AnBn

Weg
Ich nehme mal an es wird über zwei geschaltete for-Schleifen laufen - die äußere zählt von A1 bis An und die innere zählt von B1 bis Bn.
Das Ergebnis AaBb von A1B1 bis AnBn wird dann jeweils in eine Spalte C oder ein neues Tabellenblatt kopiert, allerdings in jeweils eine Zelle pro Ergebnis (bspw. C1=A1B1) - ich nehme mal an per 'print(C1)=A1+B1' ?



Wie Ihr seht verstehe ich relativ wenig von VB und bitte daher um Eure Hilfe.
Ein vollständiges Skript wär natürlich toll

Danke und Gruß
Fab
Mitglied: bastla
08.12.2008 um 13:20 Uhr
Hallo FaBMiN!

Etwa so:
01.
Sub Combine() 
02.
RA = 1 
03.
RC = 1 
04.
Do While Cells(RA, 1).Value <> "" 
05.
    RB = 1 
06.
    Do While Cells(RB, 2).Value <> "" 
07.
        Cells(RC, 3).Value = Cells(RA, 1).Value & Cells(RB, 2).Value 
08.
        RB = RB + 1 
09.
        RC = RC + 1 
10.
    Loop 
11.
    RA = RA + 1 
12.
Loop 
13.
End Sub
Da Du Excel2007 verwendest, habe ich die Prüfung auf einen Überlauf der Spalte C eingespart - sollten es doch mehr als eine Million Kombinationen werden, müsstest Du das berücksichtigen und zB in Spalte D weiter machen ...

Grüße
bastla
Bitte warten ..
Mitglied: FaBMiN
08.12.2008 um 13:27 Uhr
Hey bastla --> baschdlah ;)

vielen Dank!
Ich werde es gleich mal ausprobieren!
Bitte warten ..
Mitglied: FaBMiN
08.12.2008 um 14:05 Uhr
ähhhm... Hi nochmal
nun haben wir tatsächlich das Problem, dass es mehr als eine Million Datensatze sind :s

Haste da für mich vielleicht noch ne Abfrage? Es sind nämlich ein bissl mehr als 3Mio
Wär super!

Danke
Bitte warten ..
Mitglied: bastla
08.12.2008 um 14:40 Uhr
Hallo FaBMiN!

Na ja, die paar Zeilen gehen auch noch :
01.
Sub Combine() 
02.
RA = 1 
03.
RC = 1 
04.
CC = 3 'Ergebnisse ab Spalte C eintragen 
05.
RMax = 1048576 'höchste zu verwendende Zeilennummer 
06.
Do While Cells(RA, 1).Value <> "" 
07.
    RB = 1 
08.
    Do While Cells(RB, 2).Value <> "" 
09.
        Cells(RC, CC).Value = Cells(RA, 1).Value & Cells(RB, 2).Value 
10.
        RB = RB + 1 
11.
        RC = RC + 1 
12.
        If RC > RMax Then 
13.
            RC = 1 
14.
            CC = CC + 1 
15.
        End If 
16.
    Loop 
17.
    RA = RA + 1 
18.
Loop 
19.
End Sub
Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Microsoft Office
gelöst Excel 2007 Transponieren von Gruppen oder Blöcken mit VBA (7)

Frage von Chrissy123 zum Thema Microsoft Office ...

Microsoft Office
Excel 2007: Sortierung ohne ins Datenblatt zu springen (2)

Frage von JoSiBa zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel 2007 und der Cosinus (3)

Frage von Henere zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (22)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hardware
gelöst PCI-Express-Adapterfrage (14)

Frage von DerWoWusste zum Thema Hardware ...

Linux Netzwerk
DHCP IP-vergabe erst nach 1-2 Minuten (11)

Frage von Maik82 zum Thema Linux Netzwerk ...