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, 4523 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
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

Microsoft Office
Excel 2007 jedes Fenster in extra Instanz (7)

Frage von xbast1x zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...