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

Frage zu Excelmakro, Zellen zusammenfügen und kopieren

Frage Microsoft Microsoft Office

Mitglied: Urs-2012

Urs-2012 (Level 1) - Jetzt verbinden

09.05.2012 um 13:53 Uhr, 4081 Aufrufe, 2 Kommentare

Hallo zusammen

Gerne möchte ich folgende Makro aus diesem Forum nützen, jedoch sollten leere Zellen ignoriert werden, Am besten wäre, wenn eine Endzelle gesetz werden kann. Ebenfalls sollten die Daten nicht im gleichen Tabellenblatt ausgegegebn werden.
Könnt Ihr mir dabei helfen?

01.
 
02.
Option Explicit 
03.
 
04.
Const StartZeile = 2 
05.
 
06.
 
07.
Sub FillColumnC_Value() 
08.
    Dim Cell As Range 
09.
 
10.
    With Columns("C:C") 
11.
        .NumberFormat = "@"                                                                                  'Text-Format in Spalte C 
12.
        .HorizontalAlignment = xlRight                                                                      'Ausrichtung Rechts 
13.
    End With 
14.
 
15.
    For Each Cell In Range("A:A") 
16.
        If Cell.Row >= StartZeile Then                                                                        'Ab Startzeile 
17.
            If IsEmpty(Cell) Then Exit Sub                                                                       'Bis zur 1. Leerzeile 
18.
                 
19.
            With Cell.Offset(0, 2) 
20.
                .Value = Cell.Text & Chr(10) & Cell.Offset(0, 1).Text                            'Spalte C = Spalte A & Spalte B 
21.
                .Characters(Len(Cell.Text) + 1, -1).Font.Italic = True                           'Wert aus Spalte B werden kursiv 
22.
            End With 
23.
        End If 
24.
    Next 
25.
  End Sub 
26.
 


Danke für eure Hilfe.
Mitglied: mak-xxl
09.05.2012 um 16:18 Uhr
Moin urs2012,

in starker Anlehnung an obigen Code, etwa so:
01.
Sub FillColumnC_Value() 
02.
    Const StartZeile As Long = 2 
03.
    Const EndZeile As Long = 200 
04.
    Dim z As Long                                           ' Zeilenindex 
05.
    With ThisWorkbook.Sheets(2).Columns("C:C")              ' Zieltabelle 
06.
        .NumberFormat = "@"                                 ' Text-Format in Spalte C 
07.
        .HorizontalAlignment = xlRight                      ' Ausrichtung rechts 
08.
    End With 
09.
    With ThisWorkbook.Sheets(1)                             ' Quelltabelle 
10.
        For z = StartZeile To EndZeile 
11.
'            If IsEmpty(.Cells(z, 1)) Then Exit Sub                          ' 1. Leerzelle (nur A) 
12.
            If IsEmpty(.Range(.Cells(z, 1), .Cells(z, 2))) Then Exit Sub    ' 1. Leerzeile (A & B) 
13.
            Sheets(2).Cells(z, 3) = .Cells(z, 1) & Chr(10) & .Cells(z, 3)   ' C = A & vbCr & B 
14.
            Sheets(2).Cells(z, 3).Characters(Len(.Cells(z, 3).Text) + 1, -1).Font.Italic = True ' Werte aus B kursiv 
15.
        Next z 
16.
    End With 
17.
End Sub
Der Gesamtstring aus A+vbCR+B des ersten Tabellenblattes wird in Spalte C des 2. Tabellenblattes kopiert.

Freundliche Grüße von der Insel - Mario
Bitte warten ..
Mitglied: 76109
10.05.2012 um 00:56 Uhr
Hallo Mario!

Nur als kleine kleine Anmerkung. Chr(10) = vbLf und erzeugt in Zellen einen Zeilenumbruch

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement
Frage zum Netzwerksetup (Lan und Wlan) (5)

Frage von NetzNewbie zum Thema Netzwerkmanagement ...

Batch & Shell
gelöst Dateien aus einer Liste anhand verschiedener Parameter kopieren (5)

Frage von gnumpf21 zum Thema Batch & Shell ...

Windows Installation
Eine etwas (wirklich) speziellere Frage: Windows 10-Installation über (16)

Frage von DerFurrer zum Thema Windows Installation ...

Utilities
Frage zum GoogleDocs-Viewer (4)

Frage von SarekHL zum Thema Utilities ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Email in Exchange an 2ten Empfänger senden (18)

Frage von MultiStorm zum Thema Exchange Server ...

Weiterbildung
Gehaltsvorstellungen (13)

Frage von SYS64738 zum Thema Weiterbildung ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...