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, 4107 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
Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
gelöst Benutzer lässt sich nur an einem Clientcomputer anmelden (17)

Frage von Ammann zum Thema Windows Server ...

Netzwerke
SFP Modul (miniGibic) (11)

Frage von apranet zum Thema Netzwerke ...

Batch & Shell
gelöst Gruppenzugehörigkeit von AD Usern ermitteln - die Perfektion fehlt (11)

Frage von Stefan007 zum Thema Batch & Shell ...