Nur Zellen mit Inhalt kopieren

Bild

Betrifft: Nur Zellen mit Inhalt kopieren
von: Christian
Geschrieben am: 02.12.2003 19:03:29

Ein "Hallo" an alle Experte.

Ich weiß nach 3 Stunden Recherche im Archiv trotzdem nicht weiter .... folgendes Problem.

In der Spalte G stehen Werte (Zahl). Diese sind aber nicht durchgehend, es gibt viele Leerzellen innerhalb von G. Ich wollte nun einen bestimmten Zellbereich (Zelle 5 bis 40) in ein anderes Tabellenblatt übernehmen .... allerdings sollen nur die Zellen mit Inhalt zusammenhängend in Tabellenblatt 2 geschrieben werden (z.B. auf A1). .... inklusive dem zugehörigen Zellenwert aus Spalte B.

Also: Wenn Wert in G5, dann kopiere B5 und G5 in Tabelle 2 auf A1
Wenn Wert in G6, dann kopiere B6 und G6 in Tabelle 2 auf A2
Wenn kein Wert vorhanden mach weiter bis G40

Wer kann mir bei dieser (ich glaube) peinlichen Frage weiter helfen (Bitte ein VBA Sub () in englisch)

Herzlichen !
Gruß Christian

Bild


Betrifft: AW: Nur Zellen mit Inhalt kopieren
von: RainerW
Geschrieben am: 02.12.2003 19:39:58

Hallo Christian,

füge folgenden Code ins Codefenster von "Tabelle1":

Gruß Rainer


Private Sub Kopieren()
    Dim c As Range
    Dim i As Long
    Dim wks1 As Worksheet
    Dim wks2 As Worksheet
    Set wks1 = Worksheets("Tabelle1")       ' Name des Tabellenblattes anpassen
    Set wks2 = Worksheets("Tabelle2")       ' Name des Tabellenblattes anpassen
    
    Dim V(1 To 36) As String                ' 36 Datenfelder initialisieren
    i = 1                                   ' Zähler initialisieren
    For Each c In wks1.Range("G5:G40")
        If c <> "" Then
            ' Wenn Leerzeichen dazwischen sein soll, dann:
            ' c.Offset(0, -5) & " " & c     ' in Zeile darunter ersetzen
            V(i) = c.Offset(0, -5) & c
            i = i + 1
        End If
    Next c
    
    For i = 1 To 36
        wks2.Cells(i, 1) = V(i)
    Next i
End Sub



Bild


Betrifft: AW: Nur Zellen mit Inhalt kopieren
von: Christian
Geschrieben am: 02.12.2003 20:28:42

Hallo Rainer,

vielen Dank für die schnelle Hilfe. Jetzt stehen in Tabelle 2 die vorhandenen Werte in einer Zelle. Wie müsste das Makro verändert werden, so dass die Spalten B und G in Tabellenblatt 1 nebeneinander in den Spalten D und E ab Zeile 5 der Tabelle 2 dargestellt werden, also nicht beides in eine Zelle importieren und frei von Zelle A1 sein.

Danke für die Hilfe
Gruß Christian


Bild


Betrifft: AW: Nur Zellen mit Inhalt kopieren
von: RainerW
Geschrieben am: 02.12.2003 20:48:29

Hallo Christian,

ich habe mich schon gewundert, deswegen mein Kommentar, ob ein Leerzeichen
eingefügt werden soll.

Da habe ich deine Aussage "... kopiere B5 und G5 in Tabelle 2 auf A1 ..."
wohl mißverstanden.

Gruß Rainer


Private Sub Kopieren()
    Dim c As Range
    Dim i As Long
    Dim wks1 As Worksheet
    Dim wks2 As Worksheet
    Set wks1 = Worksheets("Tabelle1")
    Set wks2 = Worksheets("Tabelle2")
    
    Dim V(1 To 36) As String
    Dim R(1 To 36) As String
    i = 1
    For Each c In wks1.Range("G5:G40")
        If c <> "" Then
            R(i) = c.Offset(0, -5)     ' Spalte B
            V(i) = c                   ' Spalte G
            i = i + 1
        End If
    Next c
    
    For i = 1 To 36
        wks2.Cells(i + 4, 4) = R(i)
        wks2.Cells(i + 4, 5) = V(i)
    Next i
End Sub



Bild


Betrifft: AW: Nur Zellen mit Inhalt kopieren
von: Christian
Geschrieben am: 03.12.2003 09:19:22

Hallo Rainer ..... sauber .... TOP!
Es funkt .... prima.
Tausend Dank für die Hilfe, ich verstehe allmählich .... und weiter gehts.

Danke und Gruß
Christian


Bild

Beiträge aus den Excel-Beispielen zum Thema " Nur Zellen mit Inhalt kopieren"