Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
856to860
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
856to860
856to860
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBS Hilfe =)

VBS Hilfe =)
29.03.2007 12:40:09
Johann
Also erstens einmal ein Hallo an alle =) Sieht nach einem sehr netten Forum aus hat mir auf den ersten blick gefallen :) Nun registriert und schon die erste Frage :p
Meine Aufgabenstellung die ich in VBS realisieren will:
Ich habe eine Datenbank in Excel:
Arbeitsmappe1(Datenbank)
9 Spalten
Marke, Beschreibung, lnk, Flaschenname, Jahrgang, Farbe, Grösse, Volumen, Abteilung
! Manche Zeilen in dieser Tabelle haben einen gelben Hintergrund !
So dann habe ich eine Arbeitsmappe2(Produkt)
Noch eine Arbeitsmappe3(Sortiment)
Nun wenn ich jetzt Arbeitsmappe2(Produkt) aktiviere, will ich das sie von Arbeitsmappe1(Datenbank) die Felder die einen gelben Hintergrund haben markiert und in Arbeitsmappe2(Produkt) kopiert von Feld A,B,C & I.
Und wenn ich Arbeitsmappe3(Sortiment) öffne will ich das er die Felder die keinen gelben Hintergrund haben in Arbeitsmappe3(Sortiment) kopiert von Feld C,D,E,F bis G.
Ich hoffe das ganze ist realisierbar wenn nicht schimpft mein Chef sicher mit mir :)
Ein Danke schon im vorhinen =)
MFG
Johann Neza

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Bitte um Hilfe :/
29.03.2007 13:45:27
Johann
Leider finde ich kaum etwas in der ähnlichkeit im Internet :/ Bin schon am verzweifeln.
Danke für die Bemühungen
AW: Bitte um Hilfe :/
29.03.2007 14:06:52
Rudi
Hallo,
1. nicht ungeduldig werden.
2. Deine Beschreibung ist ein wenig konfus. Sind das 3 Dateien (Mappen) oder nur 3 Blätter in einer Datei?
Du hast in der DB 9 Spalten. Davon sollen 4 in die eine und 5 in die andere Tabelle kopiert werden. Die 4 sind gelb? Du schreibst von gelben Zeilen, nicht Spalten. Was nun?
Kannst du ein Beispiel hochladen?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
AW: Bitte um Hilfe :/
29.03.2007 14:12:18
Harald
Johann,
woher kommt denn die gelbe Hintergrundfarbe ?
Falls über bedingte Formatierung, bitte die Bedingung angeben.
Nebenbei...wenn Du selbst auf den Beitrag antwortest, nimmst Du ihn aus den offenen Fragen raus.
Ich lasse offen, da ich gleich Feierabend hab.
Gruß und viel Glück
Harald
Anzeige
AW: Bitte um Hilfe :/
29.03.2007 15:15:00
Johann
Zuerst einmal ein Danke an alle die geantwortet haben.
Ich werde nun versuchen mich ein wenig sachilche auszudrücken =)
Exel Datei hat 3 Blätter
Blatt1(Datenbank) Blatt2(Produkt) Blatt3(Sortiment)
Blatt1 ist die Quelle in der Daten eingetragen sind in 9 Spalten (A-I).
Nun wenn ich Blatt2 aufrufe (if worksheet.active) dann möchte ich:
For X = 0 To Blatt1.ende
If not Blatt1(A:(X)).Text = "" Then
$strSpeicher = $strSpeicher & Blatt1(A:(X)).Text & Blatt1(B:(X)).Text & Blatt1(C:(X)).Text & Blatt1(I:(X)).Text
Next X
Blatt2.Paste $strSpeicher

Und wenn ich Blatt3 öffne:
For X = 0 To Blatt1.ende
If Blatt1(A:(X)).Text = "" Then
$strSpeicher = $strSpeicher & Blatt1(C:(X)).Text & Blatt1(D:(X)).Text & Blatt1(E:(X)).Text & Blatt1(F:(X)).Text & Blatt1(G:(X)).Text & Blatt1(H:(X)).Text
Next X
Blatt3.Paste $strSpeicher

Hoffe das ist irgendwie verständlicher ^^
Anzeige
AW: Bitte um Hilfe :/
29.03.2007 16:08:27
Rudi
Hallo,
in ein Modul:
Sub Daten_rueber(wksZiel As Worksheet, vntColumns)
Dim lngI As Long, wksDB As Worksheet
Dim vntTmp(), iTmp As Integer
Application.ScreenUpdating = False
ReDim vntTmp(1 To 1, UBound(vntColumns))
Set wksDB = Worksheets("Datenbank")
wksZiel.Cells.ClearContents
For lngI = 1 To wksDB.Cells(Rows.Count, 1).End(xlUp).Row
If wksDB.Cells(lngI, 1)  "" Then
For iTmp = 0 To UBound(vntColumns)
vntTmp(1, iTmp) = wksDB.Cells(lngI, vntColumns(iTmp))
Next iTmp
With wksZiel
.Range(.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), .Cells(Rows.Count, 1).End(xlUp) _
.Offset(0, UBound(vntColumns))) = vntTmp
End With
End If
Next lngI
Application.ScreenUpdating = True
End Sub

In Produkte:
Private Sub Worksheet_Activate()
Dim vntColumns
vntColumns = Array(1, 2, 3, 8)
Daten_rueber ActiveSheet, vntColumns
End Sub

In Sortiment:
Private Sub Worksheet_Activate()
Dim vntColumns
vntColumns = Array(4, 5, 6, 7, 9)
Daten_rueber ActiveSheet, vntColumns
End Sub

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Bitte um Hilfe :/
30.03.2007 09:56:01
Johann
Hallo Rudi, danke für deine Hilfe es läuft prima =)
Nur eins noch, die letze Zeile die kopiert wird ist immer doppelt. Hab versucht die for next schleisse zu verändern aber ohne erfolg :/ kenn mich halt zu wenig aus =)
Kannst du mir da vielleicht noch ein wenig weiterhelfen =)
Danke für deine bemühungen
mfg Johann
AW: Bitte um Hilfe :/
30.03.2007 11:17:00
Rudi
Hallo,
Tippfehler. Sorry
         With wksZiel
.Range(.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0), .Cells(Rows.Count, 1).End(xlUp) _
.Offset(1, UBound(vntColumns))) = vntTmp
End With

Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe
Anzeige
AW: Bitte um Hilfe :/
30.03.2007 12:46:00
Johann
Danke vielmals =)
Funktioniert prima!, nochmals vielen dank für die Mühe und für die Hilfe.
Mfg
Johann

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige