Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1052to1056
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellwerte auslesen und übertragen

Zellwerte auslesen und übertragen
26.02.2009 12:35:55
Schmidtler
Hallo,
wie bekomme ich es hin, dass wenn z.B. Werte in Spalte C mehrfach vorkommen die dazugehörigen Werte in Spalte D und E untereinander aufgeführt weren (z.B. IST- /SOLL-Datum)? Mein Makro nimmt leider immer nur die beiden letzte Werte aus der Spalte D und E, die das Suchkrierium in Spalte C erfüllen.
HILFE!!!
Anbei ein Beispiel https://www.herber.de/bbs/user/59801.xls
Gruß, Schmidtler

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellwerte auslesen und übertragen
26.02.2009 18:42:47
fcs
Hallo Schmidler,
mit folgenden Schleifenkonstruktionen sollte es funktionieren.
Gruß
Franz

Sub Transponieren()
Dim wksQuelle As Worksheet, wksZiel As Worksheet
Dim rngKurzzeichen As Range, rngKurz As Range
Dim lngZei_Q As Long, lngZei_Z As Long
Dim lngSp_Projekt As Long, lngSp_Kurzzeichen
Dim strCodeTeil As String, strKurzzeichen As String
Set wksQuelle = Worksheets("Tabelle1")
Set wksZiel = Worksheets("Tabelle1")
With wksZiel
Set rngKurzzeichen = .Range("H1:L1")
lngSp_Projekt = rngKurzzeichen.Column - 1
lngZei_Z = rngKurzzeichen.Row + 1
'Altdatenlöschen
.Range(.Cells(lngZei_Z, lngSp_Projekt), _
.Cells(.Rows.Count, lngSp_Projekt + rngKurzzeichen.Columns.Count)).ClearContents
End With
lngZei_Q = 2 'Zeile mit dem 1. Projekt in Liste
Do
If wksQuelle.Cells(lngZei_Q, 1).Text = "00" Then
wksZiel.Cells(lngZei_Z, lngSp_Projekt).Value = wksQuelle.Cells(lngZei_Q, 2).Value
wksZiel.Cells(lngZei_Z + 1, lngSp_Projekt).Value = wksQuelle.Cells(lngZei_Q, 3).Value
wksZiel.Cells(lngZei_Z + 2, lngSp_Projekt).Value = wksQuelle.Cells(lngZei_Q, 4).Value
End If
lngZei_Q = lngZei_Q + 1
CodeTeil2:
strCodeTeil = wksQuelle.Cells(lngZei_Q, 2).Value
Do
If wksQuelle.Cells(lngZei_Q, 1).Text = "00" Then
lngZei_Z = lngZei_Z + 3 'nächstes Projekt
Exit Do
End If
If Left(wksQuelle.Cells(lngZei_Q, 2).Text, Len(strCodeTeil))  strCodeTeil Then
'neue Gruppe innerhalb des Projekts
lngZei_Z = lngZei_Z + 2
GoTo CodeTeil2
End If
'Kurzeichen in Spaltentiteln suchen
strKurzzeichen = wksQuelle.Cells(lngZei_Q, 3)
Set rngKurz = rngKurzzeichen.Find(What:=strKurzzeichen, LookIn:=xlValues, _
lookat:=xlWhole)
If rngKurz Is Nothing Then
MsgBox "Kurzeichen """ & strKurzzeichen & """ in Zieltabelle nicht gefunden!"
Else
If Not IsEmpty(wksQuelle.Cells(lngZei_Q, 4)) Then
wksZiel.Cells(lngZei_Z, rngKurz.Column).Value = _
wksQuelle.Cells(lngZei_Q, 4).Value
End If
If Not IsEmpty(wksQuelle.Cells(lngZei_Q, 5)) Then
wksZiel.Cells(lngZei_Z + 1, rngKurz.Column).Value = _
wksQuelle.Cells(lngZei_Q, 5).Value
End If
End If
lngZei_Q = lngZei_Q + 1
If lngZei_Q > wksQuelle.Cells(wksQuelle.Rows.Count, 1).End(xlUp).Row Then Exit Do
Loop
Loop Until lngZei_Q > wksQuelle.Cells(wksQuelle.Rows.Count, 1).End(xlUp).Row
End Sub


Anzeige
AW: Zellwerte auslesen und übertragen
27.02.2009 09:54:49
Schmidtler
Wow - einfach super!
Danke.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige