VBA Programm Arrays? und einer Variablen mehrere Werte zuweisen?

4 Antworten

Ein Array ist ein Objekt (eine Variable) mit mehreren Werten. Du kannst auf jeden Wert über einen Index zugreifen, sowohl lesend als auch schreibend.

Einfaches Code-Beispiel:

Dim Namensliste() As String, Name As String, AndererName As String

ReDim Namensliste(20)

'Hier sollte noch Code stehen, der die Namensliste irgendwie füllt

Name = Namensliste(5)

Namensliste(8) = AndererName

Dim NochEineNamensliste() As String

NochEineNamensliste = Namensliste 'direkte Zuweisung eines Arrays an ein Array

Ich weiß nicht, was du mit deinem Punkt-Beispiel vorhast. Man kann zwar ein dreidimensionales Array von Punkten erzeugen

Dim Punkt(9, 15, 4) As Integer

wo dann jedem Punkt aus einem Quader aus diskreten Punkten ein ganzzahliger Wert zugeordnet wird, aber das braucht man eher selten.

Wenn du, wie ich vermute, ein Problem aus der Geometrie hast, brauchst du Punkte, deren Koordinaten auch nicht-ganzzahlige Werte annehmen können. Dazu könntest du nehmen:

Dim X_Wert(AnzahlPunkte - 1) As Double, Y_Wert(AnzahlPunkte - 1) As Double, Z_Wert(AnzahlPunkte - 1) As Double

aber übersichtlicher dürfte ein eigener Typ sein

Type Punkt3D

X As Double

Y As Double

Z As Double

End Type

Dim Punkte(AnzahlPunkte - 1) As Punkt3D

marinus94 will offenbar Punkte im Raum verarbeiten, da würde ich Dein Punkt3D Beispiel vertiefen. Vielleicht willst Du, marinus94  ja 3d-Figuren kreieren oder 3d-Geometrie betreiben? Da könnte man vielleicht einen 3d-Boolean Punkt3d(X,Y,Z) jeweils true zuweisen im Sinne von "ist (Eck)Punkt der 3d-Figur" zB, um diese Punkte später per algo durch Linien zu verbinden, so daß man Flächen hat, die die Figur 'manteln'. Bzw dito, um einen gewünschten geometrischen Körper zu 'manteln' oder zu 'gittern'.

0
@RoSiebzig

Da würde ich auch gern wissen, was @marinus94 beabsichtigt.

1
@RoSiebzig

Ich mach' sowas immer mit array[ ][ ][ ]

alle int Punkte[k][m][n]=0;

(meinePunkte:)   Punkt[x][y][z]=1;

und geh sie dann per Schleife  for-for-for-if  durch, um sie abzufragen oder auszugeben.

0
@RoSiebzig

Ja, das geht in VBA:

Dim Punkt(X_Max - 1, Y_Max - 1, Z_Max - 1) As Boolean
1

Ein array ist ein Objekt mit n Elementen, die Du ansprichst mit ihrer lfd.Nr. in der Klammer (die nichts mit dem Datentyp des array-Objektes string, int usw zu tun hat). Benutzt wird der (nach dem Gleichheitszeichen in einer Anweisung) zugewiesene Wert.

Der array kann vom datentyp string, int, double, (oder boolean?) sein.

Je nach Dimensionen kann er eine Liste von Namen oder Bezeichnungen sein als String Liste(7) = "Herr Borg"; oder eine Koordinatensammlung oder Koordinatenebene 'meinen' boolean Koord(201)(11)=true; oder int Koord(201)(11)=1; - jeweils einen Punkt angelegt). Oder Objekte mit mehreren Eigenschaften definieren und identifizieren Fahrzeug(7)(1)(83)= "Auto"; Fahrzeug(7)(1)(84)="Moped"; ..

Du willst aber Punkte im Raum verarbeiten, da würde ich das Punkt3D Beispiel von PWolff vertiefen (den thread dort fortführen). Vielleicht willst Du ja 3d-Figuren kreieren oder 3d-Geometrie betreiben? Da .. (s.dort)

VBA arrays zusammenfügen

Hallo Leute

Würde eine Hilfe bezüglich via benötigen

Ich habe drei arrays 1. checkidv 2. checkidn 3. checkidp

So nun wird es interessant. Die neue Array "chekidf" sollte die Werte aller drei arrays beinhalten.

Zu guter letzt möchte ich wissen ob sich in der Array "chekidf" gleiche Werte befinden. Sprich: jede von den drei arrays hat lauter verschiedenen Zahlenwerte zB.: Checkidv(1)=13 checkidv(2)=21 usw.....

Wenn sich gleiche Werte darin befinden dann möchte ich den Wert in eine Variable übergeben

Vielen Dank für eure Hilfe

Lg Peter

...zur Frage

Excel 2013: Wert aus Variable (VBA) in Zelle schreiben?

Hi!

Ich sag jetzt schon mal danke für eure Antworten :)

Wie kann man den Wert der durch ein VBA-Makro in einer Variable steht in einer Zelle einfügen, so dass er da dauerhaft steht und auch aktualisiert wird, falls sich dieser Wert bzw. Variable ändert?

Sub Kommentarezaehlen()
 Dim Kom As Comment

 For Each Kom In ActiveSheet.Comments
     i = i + 1
  
 Next
 
 msg = MsgBox("Das blatt enthält " & i & " Kommentare")
End Sub 

Vielen Dank Leute!

...zur Frage

Welche Herrenuhr bis 200€ für einen 16-Jährigen empfehlt Ihr mir? Preisleistungsverhältnis sollte stimmen?

Qualität sollte wichtig sein

...zur Frage

Java, Variablen welche von anderen Klassen verändert wurden Aktualisieren?

Also vorab: Ich erstelle ein Objekt einer Klasse, um auf die Daten dieser zuzugreifen.

Dies mache ich ohne Getter+Setter Methode:

Klassenname test=new Klassenname();

test.irgendeinString="Hallo";

In meinem Fall verändere ich die Farbe der Schrift eines Labels, welches einen Timer darstellen soll. Somit verändert es ständig den Wert:

test.lblTimer.setForeground(Color.GREEN);

Die Farbe wird aber nicht aktualisiert, nur wenn ich den JFrame mit dem Timer-Label neu öffne:

test.setVisible(true);

Warum ich ausgerechnet die Farbe eines Timers ändern will?

--> Da ich es noch testen will wie ich Werte ändern kann, funktioniert aber anscheinend nur manchmal?!

Wenn man sich fragt warum ich nicht eine Variable vom Typ Color erstelle?

--> Wurde schon gemacht, diese Variable wurde bei "private void initComponents()",

beim bereich des Labels auch verwendet.

(bei lblFarben.setForeground(Color.RED); anstatt Color.Red, die Variable)

Half leider nichts.

FrmOptionen(soll die Variablen des Timers ändern):

https://pastebin.com/vVawryZD

(Es ist Absicht, dass nur einer der Buttons Code drin stehen hat!)

...zur Frage

Sims 4 MESH, wo kann ich das herunterladen :)?

Hallo! :)

Ich habe mir HEUTE Costume Content heruntergeladen, also Haare :)

Das Problem ist: ich spiele mein Sims 4 Spiel und es wird mit so komischen Fragezeichen angezeigt, also im Create a Sim Modos.

Ich habe gelesen man braucht meistens MESH aber ich weiß nicht wo ich es herunter laden soll :(

Danke im Voraus! <3

...zur Frage

Batch Variablen zusammenfassen?

Ich habe eine Batch Datei geschrieben in welcher ein Benutzer mehrere Variablen eingeben soll. Diese Variablen möchte ich dann in einer .txt Datei speichern. Das Problem ist das die Variablen in extra zeilen gespeichert werden und nicht in derselben.Daher wollte ich eine weitere Variable erstellen die die anderen zusammenfasst. set /P Test=%Titel% %Name% %Email% echo "%Test%">>Speichern.txtIn der Datei Speichern.txt wird aber als Variable "Test" wieder eine eigene eingabe Verwendet und nicht die Variablen. Was muss ich anders machen?

...zur Frage

Was möchtest Du wissen?