Herbers Excel-Forum - das Archiv
Nur Zellen mit Inhalt kopieren

|
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
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
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
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
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