Excel/vba cd datenbank

Carsten1986

Calimero
Thread Starter
Mitglied seit
02.12.2003
Beiträge
2.998
Hallo

will mir eine band und liederdatenbank in excel und vba machen

ich dachte mir cih schreibe mir alle leider in eine 2te tabell in excel(tabelle2)

also
bandname - leidname - album - musikrichtung - weiterinfos

........
hier gebe ich dann meine leider ein

nun zum programm

ich will wenn cih z.b. leider einer band suche

im excel fenster (tabelle1)
die band einlesen und dann soll mri excel die leider und infos die ich zu dieser band habe ausgeben
darunter in einer liste wie ich sie in (tabelle2) habe

wollte dass einlesen über eine vba userform machen
dass die userform wenn ich die datei öffne erscheint (ohne in den vba modus zu gehen und play zu drücken)
oder die userform zur eingabe der lieder per commandbutton in (tabelle1) öffne

nun habe ich folgende probleme/fragen :

1. ist mein idee so zu verwirklcihen?

2. wie is der befehl für den commandbutton dass die user form erscheint??

3. wie kann cih die user form erscheinen lassen wenn cih die datei öffne??

4. wie is der befehl für eine suchfunktion über excel oder vba (sverweis???)??

5. wie gebe ich aus(range-, cells-anweisung????)??

danke
hoffe auf antworten
__________________
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hä ?

Meins Du Access-Datenbank oder Exel-Tabellenkalkulation?

Drück mal F1 - die Hilfe ist recht Umfangreich und führt fast immer
zum Ziel.

JO
 
jotti schrieb:
Hä ?

Meins Du Access-Datenbank oder Exel-Tabellenkalkulation?

Drück mal F1 - die Hilfe ist recht Umfangreich und führt fast immer
zum Ziel.

JO
:-[

denkst du wirklich ich sitze 5 std an dem scheiss ohen in die hilfe zu gugge oder zu googlen?

JA ich emine excel da acces auf den schulrechnern net löft auf den ichs presentieren muss
 
1. ja zumindestens teilweise

2. doppelt auf den commandbutton klicken dann kommt so ne Private Sub ... (), da schreibst du rein:

Private Sub commandbutton_Click()
xxx.Show ' xxx, da schreib den Namen der Userform rein
End Sub

-> Show =anzeigen
-> Hide = ausblenden

3. da erstellst du nen Modul und zwar wie folgt:

Sub auto_open()
xxx.Show ' xxx, da schreib den Namen der Userform rein
End Sub

4. musst du genauer erklären, ist nicht so ganz trivial

5. fals du das meinst:
bei range = range("B5").select oda range("B5:C5").select
bei cells z.B. = cells(Zeile,Spalte) = "test"
bei kombination = Range(Cells(1, 1), Cells(3, 2)).Select


PS: zu 3 gibt es auch die auto_close, die kann dann etwa so aussehen:

ohne Speichern:

Sub auto_close()
Sheets("Tabelle2").Select ' wechseln in Blatt Tabelle2
Workbooks("Musik.XLS").Close SaveChanges:=False 'ist der Exceldateiname + nicht speichern bei beenden
End Sub

oder mit speichern:

Sub auto_close()
Sheets("Tabelle2").Select ' wechseln in Blatt Tabelle2
Workbooks("Musik.XLS").Close SaveChanges:=True 'ist der Exceldateiname + speichern bei beenden
End Sub

--> kannst du über kopieren in VBA einfügen, hab die Erklärung als Kommentar gemacht

zusatz:
Application.ScreenUpdating = False ' deaktiviert die Bildschirmaktualisierung
Application.ScreenUpdating = True ' aktiviert die Bildschirmaktualisierung


Ich hoffe das hilft etwas. Falls du fragen hast denn sag bescheid
Grüsse
 
Zuletzt bearbeitet:
zu punkt 4:

will daten einlesen
mit range is klar

dann soll der meine 2te tabelle nach dem wort durchsuchen
und alles wo das wort vorkommt ausgeben

wie?
 
hmm...ich kann dir dazu mal nen Beispiel bauen und schicken per mail oda PM (weeß ich aber nicht ob das per PM geht) wenn du damit einvverstanden bist. Dauert aber einen Moment
 
hast Post, nicht wundern da kommen zwei Mails, hab ich doch glatt bei der ersten den Anhang vergessen ranzuhängen *lol*

sach bescheid obs geht

PS: Kontodaten schick ich dir dann (eine Ingenuierstunde kostet etwa 150€) *hehe* :wink:
 
genau dass meinte ich

nur soll der nach der suchabfrage @ erstes tabellen blat bleiben

also eigentlich die ganze zeit

der soll sichs halt nur ausm 2ten raussuchen

edit: 1 frage

"J" ist?? = 2 ??
wo nimmste di eher?

und dann noch "For i = 2 To 10 " die 10 gibt an wieviele er ausgibt??

kann cih ja auf 100rt erweitern oder?
 
Zuletzt bearbeitet:
so habe nun noch 1 problem
habe dir mal was geschickt

so solls später aussehen

die userform brauche ich nemme leses es nun per feld @ tabelle ein
 
Zu "j"

also das "j" brauchst du um die zeile für die Anweisung "cells" variabel zu machen, (wird einfach so deklariert, wenn du dir "j" ankuckst steht da nach dem ausführen dieser Zeile, dass "j" den wert 2 besitzt)

--> mit anderen Worten er kopiert einen Datensatz in eine Zeile der Anzeige und erhöht geichzeitig die Zeilennummer i um 1, also auf die folgende Zeilennummer, somit schreibt er den nächsten gefundenen Datensatz in die neue Zeile ohne die alte zu überschreiben. (da mußt du sicher noch was machen, einen Vergleich bei evtl. gleichen Datensätzen, da ja jetzt nur die Liedband überpfüft wird)

Das For i=2 to 10 ist ein zähler, d.h jedesmal wenn "next i" ausgeführt wird, wird i um 1 (also i=i+1) erhöht --> zu beachten ist hier die Reihenfolge bei if anweisungen

--> die 10 gibt an bis wohin er zählen soll, also wenn du z.B. 100 Datensätze hast mußt du den zähler erhöhen bis auf 100 oder 101 jenachdem in welcher zeile der letzte Datensatz steht)
 
k suchen und auslesen ist gelöst

nun brauche ich nch hilfe bei folgendem:

1. zum sortieren nehm ich ein normales marko?!! oder gibst da cuh nen EINFACHEN vba Befehl?
2. zum neue lieder einlesen
benutze ich ne schleife oder wie soll ichs machen, dass er immer eine zeile drunter die daten ergänzt

habe ja so nen aufbau:

band ---------- lied ---------- ablum ...
metallica ---- one -------------black
..... ----------.......-----------.........

dann ein paar zeilen frei mis die nexte band kommt
ofspring ----------....---------......
.
.
.

und so weiter

wie kann ich nun beliebig viele bands eintragen??
einlesen werde ich per inputbox oder userform machen nur wie gebe ich es sauber aus?
und ordentlich sortiert(wo bei cih sortieren immer noch per marko amchen kann danach)
 
du kannst unter Excel Makros aufzeichnen, so z.B. die Standardfunktion Sortiern. Das Makro sieht dann ungefähr so aus. Das musst du aber noch noch anpassen damit es variabel bleibt.

Voher: (Tabelle)
bandname lied album
aaa 1 1
abc 2 2
a12 3 3
xsf 4 4
asd 5 5
thh 6 6
dfghrt 7 7
rthjgh 8 8
rjjnd 9 9
mjnkz 10 10
kuuz 11 11
zruk 12 12
lrzkl 13 13
rzulru 14 14
etuz 15 15
etzi 16 16
etzi 17 17
dgh 18 18
hgk7 19 19
lizru 20 20
etzi 21 21
euk 22 22
kire 23 23
zik 24 24
eti 25 25
uil 26 26
poui 27 27
qwr 28 28
whn 29 29
zul 30 30
mjuz 31 31
zioi 32 32


Jetzt folgenden VBA code:

Sub sortieren()

Sheets("Tabelle1").Select
Range("D6:F37").Select
Selection.Sort Key1:=Range("D6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

End Sub


Danach: Tabelle

bandname lied album
a12 3 3
aaa 1 1
abc 2 2
asd 5 5
dfghrt 7 7
dgh 18 18
eti 25 25
etuz 15 15
etzi 16 16
etzi 17 17
etzi 21 21
euk 22 22
hgk7 19 19
kire 23 23
kuuz 11 11
lizru 20 20
lrzkl 13 13
mjnkz 10 10
mjuz 31 31
poui 27 27
qwr 28 28
rjjnd 9 9
rthjgh 8 8
rzulru 14 14
thh 6 6
uil 26 26
whn 29 29
xsf 4 4
zik 24 24
zioi 32 32
zruk 12 12
zul 30 30


Versuch das einfach mal.
Grüsse
 
danke

habs gestern abend noch rausgefunden
der macht ja für jedes marko ein modul @ vba
hab einfach den text des moduls in den cmd button genommen
 
Darf ich mal eine richtig dumme Frage stellen:

--> Warum benutzt Du fuer sowas Excell? Ich haette eher eine Datenbank dafuer genommen, von mir aus Access aber doch kein Excel? SQL gibt es ja nicht umsonst.

Das verstehe ich net.

'cuda
 
[QUOTE='cuda]Darf ich mal eine richtig dumme Frage stellen:

--> Warum benutzt Du fuer sowas Excell? Ich haette eher eine Datenbank dafuer genommen, von mir aus Access aber doch kein Excel? SQL gibt es ja nicht umsonst.

Das verstehe ich net.

'cuda[/QUOTE]
ja aber da es eine art schulprojekt is muss ich excel und vba benutzen

weil der erst net geht @ schulrechner

werde gleich mal die datei uppen

habe nur noch 1 problem

und kann es net lösen
versuche es gleich mal wieder
mal schauen
 
[QUOTE='cuda]Darf ich mal eine richtig dumme Frage stellen:

--> Warum benutzt Du fuer sowas Excell? Ich haette eher eine Datenbank dafuer genommen, von mir aus Access aber doch kein Excel? SQL gibt es ja nicht umsonst.

Das verstehe ich net.

'cuda[/QUOTE]

Mysql ist ja quasi open source...
 
http://home.arcor.de/carsten1986/Hausarbeit.xls
da hab ich beid er einlesen funktion ein problem

ich muss J irgendiwe in eine schleife hauen dass der mir j jedesmal wenn ich dieses einlesen userform ausführe j um 1 erhöht

da wenn j=2 fest bleibt
der mir zwar die erste zeile schön schreibt
die te auch noch
nur alle anderen leider in die 2te zeile
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh