Home Office-Hilfe.com - Wir lösen Ihr Problem mit Microsoft Excel, Word, Outlook, PowerPoint, Access gratis Forum Impressum

  vba syntax fragen (Excel 2000)
Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 04.10.2008, 20:25 Nach oben

Ein dickes fettes "Hallo" an euch,

Ich bin es schon wieder.
Würde gern eurer Fachwissen in Beschlag nehmen.

Ich habe mich durch einiges lesen soweit vorgetastet um mittels eines Commandbuttons auf Zellen in selbigem Tabellenblatt anzusprechen und werte aus/ein zu lesen

Doch wie lautet die Syntax um ein anderes Tabellenblatt anzusprechen?
Zum Beispiel:
Commandbutton auf Tabelle1 und ich möchte den wert vom Tabellenblatt2 "A3" in Tabellenblatt 1 "A1" einzufügen

Hoffe ich hab mich klar ausgedrück und bekomm hilfe von euch

vielen dank im vorraus
Rami
Benutzer-Profile anzeigenPrivate Nachricht senden
< Peter >
Schlauberger
Schlauberger


Anmeldedatum: 30.08.2008
Beiträge: 233
Wohnort: Das schönste Land in Deutschlands Gaun

BeitragVerfasst am: 04.10.2008, 20:39 Nach oben

Hallo,

VBA ist nicht so meine Baustelle, aber das sollte so funktionieren:

Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("A1") = Sheets("Tabelle2").Range("A3")
End Sub

_________________
Gruß
Peter
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 04.10.2008, 20:53 Nach oben

Hey Danke für die schnelle Antwort,
doch leider bekomm ich einen Laufzeitfehler mit de rMeldung
"Index auerhalb des gültigen Bereichs"

Warum?

zur weiteren Info:

Tabelle2(Bestellung)
Tabelle3(datenbank)
Benutzer-Profile anzeigenPrivate Nachricht senden
< Peter >
Schlauberger
Schlauberger


Anmeldedatum: 30.08.2008
Beiträge: 233
Wohnort: Das schönste Land in Deutschlands Gaun

BeitragVerfasst am: 04.10.2008, 21:03 Nach oben

Hallo,

du musst die Namen anpassen, statt Tabelle1 und Tabelle2 muss es bei der Tabelle2 und Tabelle3 sein und sollte dann bei dir etwa so aussehen:

Sheets("Tabelle3").Range("A1") = Sheets("Tabelle2").Range("A3")

_________________
Gruß
Peter
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 04.10.2008, 21:05 Nach oben

Hallo Peter,
das hab ich getan und trotzdem kommt der Fehler.

Hab die Namen sofort geändert...ein bisl was vom Programmieren weiß ich *smile*
Benutzer-Profile anzeigenPrivate Nachricht senden
< Peter >
Schlauberger
Schlauberger


Anmeldedatum: 30.08.2008
Beiträge: 233
Wohnort: Das schönste Land in Deutschlands Gaun

BeitragVerfasst am: 04.10.2008, 21:29 Nach oben

Hallo,

tut mir leid, aber da sind jetzt meine VBA-Kenntnisse am Ende.

Bei mir funktioniert es lt. dem angehängtem Beispiel.


ramires.xls
 Beschreibung:

Download
 Dateiname:  ramires.xls
 Dateigröße:  23 KB
 Heruntergeladen:  25 mal


_________________
Gruß
Peter
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 04.10.2008, 21:46 Nach oben

Das ist ja der Hammer.

Ich hab den Code so eingegeben
Sheets("Tabelle2").Range("D1") = Sheets("Tabelle3").Range("J1")
und es geht nicht.
Bleibt mit dem Laufzeitfehler bei mir stehen und bei dir funzt es....*argh*

Es heißt ja das 98% aller Fehler vor dem Rechner sitzen....ich werd einfach mein glück versuchen. Irgendwo muss der fehler ja liegen.

Danke für deine Hilfe



*freu* hab den Fehler gefunden...dank deinem Beispiel.

und wie gesagt...98% vor dem Rechner *smile*

Danke nochmal
Benutzer-Profile anzeigenPrivate Nachricht senden
maninweb
Besserwisser
Besserwisser


Anmeldedatum: 03.05.2008
Beiträge: 57
Wohnort: Herzogenrath

BeitragVerfasst am: 05.10.2008, 09:37 Nach oben

Guten Morgen ramires...

welchen Fehler erhälst Du denn?

Wenn Du von einer Zelle etwas in eine andere kopieren möchtest, bietet sich auch an, eine korrektere Objektaddressierung zu verwenden. Das sieht z.B. so aus...

ThisWorkbook.Worksheets("Tabellenname_1").Cells(1,1).Value = _
ThisWorkbook.Worksheets("Tabellenname_2").Cells(1,1).Value

ThisWorkbook addressiert die Mappe, wo der Code drin ist. So vermeidest Du dass Excel sich eine Tabelle selben Namens aus zwei Mappen suchen muss, wenn vorhanden.

Cells(1,1) ist nichts anderes als Range("A1"), was Du auch verwenden kannst. ( Cells(x,y) = Zelle in Zeile x, Spalte y)

Value ist zwar die Standardeigenschaft von Range() oder Cells(), sollte aber immer angegeben werden. Macht Excel VBA das Leben leichter.

Gruß
Benutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchen
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 05.10.2008, 11:42 Nach oben

Hey genial,
vielen Dank. Hilf mir auch weiter.

Der Fehler kam weil ich den Tabellen schon namen gegeben habe *schäm*

Hät ich die Namen eingegeben anstatt tabelle1 hätte es von anfang an geklappt *G*

werde nun das neu gelernte in die Tat umsetzten *smile*

Werde euch auf dem laufendem halten und auch bestimmt noch ein paar fragen stellen *smile*

viele grüße
Ramires
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 05.10.2008, 20:11 Nach oben

Sodele,
wie angekündigt noch eine weitere Frage. Ich hoffe das ihr mir wieder weiterhelfen könnt.

Mir fehlt mal wieder nur der richtige Befehl, sofern diese Aktion überhaupt möglich ist....

aber jetzt zur Frage:
Ist es möglich mittels des .additem befehl auf eine Kombobox zuzugreifen, wenn sie auf einem anderem Tabellenblatt ist als auf dem wo der Code ausgeführt wird.

Kombobox Tabelle 1 soll von Tabelle 2 angesprochen werden (kurzform)

vielen dank für eure Zeit und wissen

viele grüße
Rami


Danke...hat sich schon erledigt...
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 05.10.2008, 21:12 Nach oben

So jetzt brauch ich euch wieder.... *schäm*

Ich hab folgendes vor:

Commandbutton Tabelle1 soll VBA Prozedur von Tabelle2 ausführern.

Ich hab gedacht ich mach eine
"Public sub test" und könnte sie dann direkt mit "call test" ansprechen. Doch leider geht das nicht.
Weiß jemand von euch ob und wie es funktionieren könnte?

danke im vorraus
viele grüße
Rami
Benutzer-Profile anzeigenPrivate Nachricht senden
miriki
Schlauberger
Schlauberger


Anmeldedatum: 05.03.2007
Beiträge: 433
Wohnort: Kiel

BeitragVerfasst am: 06.10.2008, 09:00 Nach oben

ramires hat Folgendes geschrieben:
Commandbutton Tabelle1 soll VBA Prozedur von Tabelle2 ausführern.

Erstelle ein neues Modul, daß nicht an ein Tabellenblatt gebunden ist. Pack dort Deine "public Sub irgendwas" rein und Du kannst sie von jedem Tabellenblatt aus aufrufen.

Also grob sowas wie:
Code:
Tabelle1:
private sub button1_click()
    call mach_was(langweiliges)
end sub

Tabelle2:
private sub button2_click()
    call mach_was(aufregendes)
end sub

Modul1:
public sub mach_was(was_denn)
    msgbox "nö, jetzt nicht!"
end sub


Gruß, Michael
Benutzer-Profile anzeigenPrivate Nachricht sendenICQ-Nummer
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 06.10.2008, 14:44 Nach oben

danke für deine Hilfe.

Werd es sobald mein kleiner im Bett ist versuchen. Mal sehen ob ich das hinbekomm *smile*


Wo und wie mach ich ein neues/eigenes Modul.

Mal sehen wer schneller ist....ich beim rausfinden oder du beim Antworten *smile*

viele grüße
Rami
Benutzer-Profile anzeigenPrivate Nachricht senden
< Peter >
Schlauberger
Schlauberger


Anmeldedatum: 30.08.2008
Beiträge: 233
Wohnort: Das schönste Land in Deutschlands Gaun

BeitragVerfasst am: 06.10.2008, 14:53 Nach oben

Hallo,

- Öffne mit Alt+F11 den VBA-Editor
- mit Strg+R den Projekt-Explorer öffnen und aktivieren
- die gewünschte Datei per Doppelklick markieren
- Tastenkombination Alt+E und dann M drücken
- in der rechten Fensterhälfte ist jetzt ein leeres Modul eingefügt worden
- in dieses Modul muss der Code eingefügt werden

_________________
Gruß
Peter
Benutzer-Profile anzeigenPrivate Nachricht senden
ramires
Newbie
Newbie


Anmeldedatum: 03.10.2008
Beiträge: 13

BeitragVerfasst am: 06.10.2008, 18:58 Nach oben

Super,
dankeschön.
Werd mich sofort ranmachen und die neuen Infos verarbeiten *freu*

vielen dank für die freundliche Hilfe

viele grüße

Rami
Benutzer-Profile anzeigenPrivate Nachricht senden
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Excel-Probelm SVERWEIS Barney80 Microsoft Excel Hilfe 1 19.11.2008, 19:11 Letzten Beitrag anzeigen
Keine neuen Beiträge [Excel 2002] Farbliche Darstellung nu... Screather Microsoft Excel Hilfe 4 16.11.2008, 09:11 Letzten Beitrag anzeigen
Keine neuen Beiträge Rabatte bzw. Prozente in Excel hasegoe Microsoft Excel Hilfe 2 15.11.2008, 14:03 Letzten Beitrag anzeigen
Keine neuen Beiträge [Access 2000]Datenbankeinträge löschen Franzose Microsoft Access Hilfe 2 14.11.2008, 09:13 Letzten Beitrag anzeigen
Keine neuen Beiträge Outlook mit Vista (Office 2000) mariadv Microsoft Outlook Hilfe 1 13.11.2008, 20:06 Letzten Beitrag anzeigen


 Gehe zu:   



Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Haftungsausschluss/Disclaimer


SMS kostenlos versenden | Battle-Dream | Tuning Forum | Join the YoungGeneration | krankenversicherungsvergleich | Kalorienarme Rezepte!
Versicherungsvergleich | Bürobedarf | Papier | Betten

Ranking-Hits



Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Alle Zeiten sind GMT + 1 Stunde
Deutsche Übersetzung von phpBB.de