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, 4556 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
Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel: Wenn Wert in Spalte A dann kopiere Zeile (8)

Frage von michi1983 zum Thema Microsoft Office ...

Microsoft Office
Excel Nachfrage: Datum aus Spalte ausgeben (2)

Frage von PronMaster zum Thema Microsoft Office ...

Microsoft Office
gelöst Excel VBA UserForm1 - Daten in neue Datei kopieren (10)

Frage von abuelito zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (26)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (19)

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

Festplatten, SSD, Raid
Raid 1 2 SSD mit Windows Server 2016 (17)

Frage von jaywee zum Thema Festplatten, SSD, Raid ...