Hot News:

Unser Angebot:

  Foren auf CAD.de
  VBasic / vb.net / vbs / wsh
  Liste erweitern mit VB

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
Autor Thema:  Liste erweitern mit VB (1485 mal gelesen)
zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

erstellt am: 02. Nov. 2006 09:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


excel+VB.jpg


excel+VB.zip

 
Liebes Forum!
Habe eine Frage bezüglich Excel u. Visual Basic.

Möchte eine Liste erweitern mit einem Visual Basic Fenster.(wie laut pic)
In der Excel Liste gibt es eine Fortlaufende Nr.(ganz links),sie soll bei jedem Listeneintrag um eins erhöt werden.

Ablauf:
- der User soll das Fenster vollständig ausfüllen,und danach auf    "Einfügen" klicken.
-Visual Basic soll nachsehen,welche Fortlaufende NR.die höchste ist,und wenn sie die Zeile gefunden hat,soll sie in der nächsten Zeile die Nr. um eins erhöhen.
Der nächste Schritt wäre dann,die Daten die der User in das Eingabefeld eingetragen hat,in diese neue Zeile einzutragen.

Wie Ihr sehen könnt,hab ich zwar den grafischen Part mit dem Eingabefenster geschaft,aber bei der Umsetztung der Befehle hapert es noch. 

Kann mir jemand bei der Umsetzung helfen??
Bitte-Danke!!

lg Andi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2006 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für zini 10 Unities + Antwort hilfreich

Hallo Andi,

eine sehr einfach möglichkeit ist es nach der leeren Zelle unterhalb des letzten Eintrags zu suchen.
In deinem Beispiel währe das die Zeile 153.

Code:

        Dim oExcel As Excel.Application
        Dim oRange As Excel.Range
        Dim oGefunden As Excel.Range
        Dim iSuchen As Integer

        'Excelobjekt holen
        oExcel = CType(GetObject(, "Excel.Application"), _
                                        Excel.Application)

        'Suchen wir nach der ersten leeren Zelle in Spalte A
        Do
            iSuchen = iSuchen + 1
            oRange = CType(oExcel.Cells(iSuchen, 1), Excel.Range)
            If CStr(oRange.Text) = "" Then
                oGefunden = oRange
                Exit Do
            End If
            'zur Sicherheit
            If iSuchen > 1000 Then
                Exit Do
            End If
        Loop


Ich hoffe dir hilft dieses Beispiel weiter.

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|    kontakt@schuler-da.de 

[Diese Nachricht wurde von tbd am 02. Nov. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

erstellt am: 02. Nov. 2006 10:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


fehlermeldung.bmp.jpg

 
Sorry,wenn ich so daneben stehe...aber ich hab mit Visual Basic überhaupt nix am Hut.
Hab jetzt diese Fehlermeldung bekommen....hmm???

Kannst du mir mit dem excel-file das ich reingestellt habe helfen??

lg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2006 10:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für zini 10 Unities + Antwort hilfreich

Hallo Andi,

sorry hatte vergessen zur sagen das dies .Net code ist!
Wo erstellst du diese Anwendung?
In VBA von Excel oder extern in VB6?
Deine Fehlermeldun sieht stark nach VBA aus.
Hier der Code:

Code:

        Dim oRange As Excel.Range
        Dim oGefunden As Excel.Range
        Dim iSuchen As Integer

        'Suchen wir nach der ersten leeren Zelle in Spalte A
        Do
            'Wir beginnen mit der Suche in Zeile vier
            iSuchen = iSuchen + 4
            Set oRange = Excel.Cells(iSuchen, 1)
            If CStr(oRange.Text) = "" Then
                Set oGefunden = oRange
                Exit Do
            End If
            'zur Sicherheit
            If iSuchen > 1000 Then
                Exit Do
            End If
        Loop


Dieen Code in dein CommandButton2_Click ereignis einfügen.
Mit dem Objekt oGefunden musst du dann halt weiter Arbeiten.
Aber du müsstest an der richtigten Stelle stehen.

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|   kontakt@schuler-da.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

erstellt am: 02. Nov. 2006 10:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

ja,arbeite mit VBA

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

HP ZBook Fury 15.6 inch G8 Mobile Workstation PC
NVIDIA RTX A2000
Creo 7.0.3.0

erstellt am: 02. Nov. 2006 10:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


1.jpg


2.jpg

 
Bin lässtig,ich weiß!
Aber funktioniert noch ned,hab einen commandbutton eingefügt und den code,denn du mir geschrieben hast eingefügt. Tut sich nix.

Wenn ich auf play drücke,kommt ein Fenster.....siehe Bild.

????bin Ratlos.

lg

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2006 11:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für zini 10 Unities + Antwort hilfreich

Das da noch nix passiert ist klar!
Du hast ja mit meinem Beispiel nur das Objekt der Zelle!
Mit diesem Objekt musst du jetzt weiter arbeiten und deine Werte aus der Maske einfügen.
Aber es wäre jetzt zuviel verlangt das für dich zu Programmieren.

Ich habe hier aber mal ein paar Links, wo du weitere Informationen über die Programmierung mit Excel VBA bekommst.

- http://www.vbarchiv.net/home/willkommen.php
- http://www.excel-inside.de/
- http://www.excel-center.de/index.php

Das ist nur eine kleine Auswahl, im Netz gibt es noch mehr seiten.
Einfach mal ein bisschen suchen und ausprobieren!

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|   kontakt@schuler-da.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

erstellt am: 02. Nov. 2006 13:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Test.zip


code.jpg

 
Frage, warum fügt er den Text nicht in das Feld "A1" ein???
Kannst du mir sagen,woran das liegt?

lg

[Diese Nachricht wurde von zini am 02. Nov. 2006 editiert.]

[Diese Nachricht wurde von zini am 02. Nov. 2006 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2006 14:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für zini 10 Unities + Antwort hilfreich

Hallo,

du musst die Zeilen einfach tauschen, dann klappt es!
[a1] = Me.txtZellwert.Value

Jetzt musst du dir nur noch die richtigen Zellen besorgen und diese befüllen.
Ist so zwar mit [xx] nicht die schönste Art und Weise, aber es funktioniert.
Ich würde dir dennoch raten mit den Objekten zu arbeiten.

Das wäre bei meinem Beispiel
oGefunden.Text = Me.txtZellwert.Text

Viel Spaß noch beim Basteln!

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|   kontakt@schuler-da.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

zini
Mitglied
Design Engineer


Sehen Sie sich das Profil von zini an!   Senden Sie eine Private Message an zini  Schreiben Sie einen Gästebucheintrag für zini

Beiträge: 304
Registriert: 09.05.2003

erstellt am: 02. Nov. 2006 14:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke!
das war die Lösung,einfach umdrehen...hihi *gg*

Aber was bedeutet: oGefunden.Text = Me.txtZellwert.Text ????

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tbd
Moderator
Teamleiter


Sehen Sie sich das Profil von tbd an!   Senden Sie eine Private Message an tbd  Schreiben Sie einen Gästebucheintrag für tbd

Beiträge: 825
Registriert: 26.01.2006

Dell Percision T5400
Intel(R) Xeon(R) CPU
X5460 @ 3.16GHz
3,25 GB RAM
Nvidia Quadro FX 4600

erstellt am: 02. Nov. 2006 14:30    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für zini 10 Unities + Antwort hilfreich

Du belegts ein Objekt mit der deklaration Excel.Range mit deiner Cell (siehe Beispiel weiter oben).
Dann kannst du mit diesem Objekt arbeiten.
Objekt.Text bedeutet das du dieser Zelle einem Neuen Inhalt verpasst.

Das arbeiten mit Objekten ist eine gängige und sinnvoll Programmierart in Visual Basic, damit man einen besseren Überblick und mehr Möglichkeiten hat.

------------------
Mfg Daniel

Es gibt nur drei Möglichkeiten: Sieg, Unentschieden oder Niederlage
----------------------------------------------
SolidWorks API-Programmierung | Makros | Tools | Addins | Schulung

SolidWorks API Programmierung; Schuler Design Automation GmbH
|   kontakt@schuler-da.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz