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, 4547 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

Viren und Trojaner
Verschlüsselungstrojaner simulieren (18)

Frage von AlbertMinrich zum Thema Viren und Trojaner ...

LAN, WAN, Wireless
Cisco W-Lan Controller als Applicance oder Software (11)

Frage von Herbrich19 zum Thema LAN, WAN, Wireless ...

Exchange Server
Exchange Postfach leeren - nicht löschen (11)

Frage von AndreasOC zum Thema Exchange Server ...