Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rows in Array einlesen (Dup.check) und Transpose

Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 18:59:00
Robert
Guten Abend Leute,
Ich habe wieder mal eine Frage die ihr sicherlich beantworten könnt...
Es ist ja möglich mehrere Zeilen z.b. „(Range(Cells(Irow,1),cells(Irow,10)“ in ein Array einzulesen, doch ist es auch möglich, bevor eine Zeile eingelesen wird zu checken ob ein Teil der Wert schon im Array vorhanden ist? Am ende muss das Array transposed auf einem Tabellenblatt eingefügt werden. Freue mich auf eure Hilfe.
Gruss, Robert

AW: Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 21:50:00
Josef
Hallo Robert,
welche Spalte(n) ist/sind für die Überprüfung auf Dupplikate relevant?
Gruß Sepp

AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Sepp,
entschuldige bitte, dass ich mich einschalte.
Hier der Grund:
Am 04.10. hast Du auf eine Anfrage um 22:51 eine Analoguhr zur Verfügung gestellt.
Ich bin brennend daran interessiert, wie diese programmiert wurde, denn sie ist wohl mit shapes entwickelt worden und dieses Randgebiet möchte ich gerne näher kennenlernen.
Kannst Du den Code in einem Beitrag offenlegen?
Dank im Voraus.
Gruß
Jean

Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 22:24:15
Josef
Hallo Jean,
der Code liegt doch offen in der Datei.
Gruß Sepp

AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Sepp,
aus irgendwelchen Gründen kann ich Deine Datei nicht öffnen, herunterladen, einsehen.
Bei mir führen alle Versuche zu einer Fehlermeldung.
Gruß
Jean

AW: Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 22:30:00
Josef
Hallo Jean,
hier nochmals die Datei als Zip-File, vielleicht klappt's damit.
https://www.herber.de/bbs/user/46574.zip
Gruß Sepp

Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Sepp,
jetzt hat der Austausch funktioniert. Vielen Dank für den Code, den ich mir morgen in Ruhe anschauen werde.
Darf ich Dich noch auf eine Anfrage von mir vom 05.10.2007 11:51 aufmerksam machen?
Nonet hat die Aufgabe perfekt gelöst, ich selbst bin jedoch an einer Lösung mit shapes interessiert.
Hast Du da einen Tipp oder gar eine Lösung anzubieten?
Ich stehe ganz am Anfang und bin für jede Hilfe dankbar.
Dank im Voraus.
Gruß
Jean

AW: Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 22:56:00
Josef
Hallo Jean,
Shapes fügt man zB. so ein.
Sub linie()
Dim px As Long, py As Long, p1x As Long, p1y As Long, p2x As Long, p2y As Long

px = 50
py = 100

p1x = 300
p1y = 100

p2x = 180
p2y = 150


ActiveSheet.Shapes.AddLine px, py, p1x, p1y
ActiveSheet.Shapes.AddLine px, py, p2x, p2y

End Sub


Die Punkte px2/py2 kannst du mit Winkelberechnungen ermitteln.
Gruß Sepp

Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Sepp,
besten Dank für das Beispiel.
Abschließend bitte ich Dich - falls dies keine zu großen Umstände macht - um die Angabe von Literaturstellen, die sich mit den Befehlen zu shapes befassen. So ganz ohne Unterlagen wird man wohl nicht auskommen.
Dank im Voraus.
Gruß
Jean

AW: Rows in Array einlesen (Dup.check) und Transpose
07.10.2007 00:55:57
Josef
Hallo Jean,
mit Literatur kann ich so gut wie gar nicht dienen. Ich habe eignetlich nur zwei Bücher die sich mit Excel oder VBA beschäftigen.
Einmal das hier: Excel VBA Master Class
Und dann das: EXCEL-Das Zauberbuch
Gruß Sepp

Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Sepp,
die Bücher habe ich inzwischen bestellt. Ich bin sicher, dass sie viele Anregungen enthalten werden.
Vielen Dank für Deine Hilfen und Geduld.
Sollte ich weitere Fragen zu shapes haben, stelle ich eine eigene Anfrage im Forum.
Einen schönen Restsonntag.
Gruß
Jean

AW: Rows in Array einlesen (Dup.check) und Transpose
06.10.2007 22:55:17
Robert
Hallo Sepp,
Toll, du hast verstanden was ich mit Teil der Wert meine..! Spalte C und F sind für die Überprüfung gedacht. Wenn du noch mehr Info brauchst bin ich für dich da.... Danke schon mal für deine Hilfe!
Grüsse, Robert

AW: Rows in Array einlesen (Dup.check) und Transp
06.10.2007 22:42:44
fcs
Hallo Robert,
mein Lösungsoeschlag
Gruß
Franz

Sub ArrayFuellen()
'Daten aus Bereich einlesen und dabei Zeilen ausfiltern und anschließend Ergebnis  _
transponiert ausgeben
Dim Bereich As Range, arrData(), arrRows As Integer, arrCols As Integer
Dim wks As Worksheet
Dim wks_A As Worksheet, A_zeile As Integer, A_spalte As Integer
Dim Zeile%, Spalte%
Set wks = Worksheets(1) 'Blatt mit Eingabedaten
Set wks_A = Worksheets(2) 'Blatt für Datenausgabe
A_zeile = 2 '1. Ausgabe Zeile
A_spalte = 1 '1. AusgabeSpalte
With wks
'bereich mit daten
Set Bereich = .Range(.Cells(6, 2), .Cells(.Rows.Count, 2).End(xlUp).Offset(0, 9))
arrRows = Bereich.Columns.Count
arrCols = 0
'Daten einlesen
For Zeile = 1 To Bereich.Rows.Count
'Bedingungen; nur Zeilen, die bedingung erfüllen werden in Array eingelesen
If InStr(1, Bereich(Zeile, 1), "2") = 0 Then
arrCols = arrCols + 1
If arrCols > wks_A.Columns.Count - A_spalte + 1 Then
MsgBox "Zuviele Spalten für die Ausgabe erforderlich!"
Exit Sub
End If
ReDim Preserve arrData(1 To arrRows, 1 To arrCols)
For Spalte = 1 To Bereich.Columns.Count
arrData(Spalte, arrCols) = Bereich(Zeile, Spalte)
Next
End If
Next
'Daten transponiert ausgeben
For Zeile = LBound(arrData, 2) To UBound(arrData, 2)
For Spalte = LBound(arrData, 1) To UBound(arrData, 1)
wks_A.Cells(A_zeile + Spalte - 1, A_spalte) = arrData(Spalte, Zeile)
Next
A_spalte = A_spalte + 1
Next
End With
End Sub


Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
07.10.2007 08:49:00
Robert
Guten Morgen Leute,
Ich habe mein VBA Anliegen Gestern schon auf dem Forum gepostet aber leider ist aus irgendeinem Grund ein Durcheinander entstanden. Mehrere Forumler haben in meinem Posting geschrieben.
Hallo Franz und Sepp. Danke schon mal dass ihr dran arbeitet. Franz, dein Lösung Vorschlag lauft aber nicht so wo ich es mir erhofft habe.
Du hast mir diese Woche schon mal geholfen mit dem VBA Thema „Tabelle Aufgrund von/bis Datum (Periodebereich)“ Ich habe dein Code so umprogrammiert dass es für meine Zwecke
Passt. Der Identifier kommt (in der erste spalte) öfters vor und dass muss auch so sein. Doch was nicht sein darf ist dass nach dem Transpose Identifier mit den gleichen Identifiernamen in den Spalten stehen.
In dem Code (Tabelle Aufgrund von/bis Datum (Periodebereich) wird der Identifier und Datum kontrolliert. Nachhinein habe ich aber gemerkt dass zusätzliche Kriterien geprüft werden müssen. Darum das Posting „Rows in Array einlesen (Dup.check) und Transpose„
Bedingungen sind Identifier und Datum (Start und End) und nachhinein auch noch der Identifiername und Typ. Ich schätze dass ist nur zu erreichen wenn Zeilen mit ausgewählten Identifier und zutreffendes Datum samt Identifiername und Typ via eine Schleife ins Array kommen. Wenn dann der Identifiername und Typ schon vorkommen, müsste der Eintrag nicht noch mal stattfinden.
Ein Teil vom Code hänge ich mal an. Ich schätze dass der Code ab der Datumscheck durch eine Arraylösung ersetzt werden muss? Da könnt ihr doch bestimmt helfen.. Gruss, Robert
wksDaten.Select
iSpalte = 3
For lZeile = 2 To wksDaten.Cells(.Rows.Count, 20).End(xlUp).Row
If wksDaten.Cells(lZeile, 20).Value = BMID_auswahl Then
If DatumsCheck(Start:=wksDaten.Cells(lZeile, 30), _
Ende:=IIf(IsEmpty(wksDaten.Cells(lZeile, 31)), tEnde, _
wksDaten.Cells(lZeile, 31)), _
PeriodeStart:=tStart, PeriodeEnde:=tEnde) = True Then
wksDaten.Range(Cells(lZeile, 20), Cells(lZeile, 32)).Copy
lZ_Start = 1
wks.Cells(lZ_Start, iSpalte).PasteSpecial Paste:=xlPasteAll, Transpose:=True
End If
iSpalte = iSpalte + 1
End If
Next

Anzeige
AW: Rows in Array einlesen (Dup.check) und Transpose
Jean
Hallo Robert,
entschuldige bitte, dass ich in Deine Anfrage "eingestiegen" bin. Sorry.
Ich hoffe und wünsche Dir, dass auf Deine erneute Anfrage die gesuchte Antwort eingehen wird.
Einen schönen Restsonntag.
Gruß
Jean

228 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige